Merge branch 'hotfix/v0.12.2' into development
Conflicts: apps/common/__init__.py apps/documents/forms.py apps/feedback/__init__.py apps/history/__init__.py apps/main/__init__.py apps/scheduler/api.py apps/sources/models.py docs/releases/index.rst requirements/production.txt settings.py urls.py
This commit is contained in:
49
.tx/config
49
.tx/config
@@ -6,6 +6,7 @@ trans.pt = apps/converter/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/converter/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/converter/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/converter/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/converter/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-common]
|
||||
source_file = apps/common/locale/en/LC_MESSAGES/django.po
|
||||
@@ -15,6 +16,7 @@ trans.pt = apps/common/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/common/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/common/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/common/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/common/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-permissions]
|
||||
source_file = apps/permissions/locale/en/LC_MESSAGES/django.po
|
||||
@@ -24,6 +26,7 @@ trans.pt = apps/permissions/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/permissions/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/permissions/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/permissions/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/permissions/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-sources]
|
||||
source_file = apps/sources/locale/en/LC_MESSAGES/django.po
|
||||
@@ -33,6 +36,7 @@ trans.pt = apps/sources/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/sources/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/sources/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/sources/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/sources/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-document_indexing]
|
||||
source_file = apps/document_indexing/locale/en/LC_MESSAGES/django.po
|
||||
@@ -42,6 +46,7 @@ trans.pt = apps/document_indexing/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/document_indexing/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/document_indexing/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/document_indexing/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-user_management]
|
||||
source_file = apps/user_management/locale/en/LC_MESSAGES/django.po
|
||||
@@ -51,6 +56,7 @@ trans.pt = apps/user_management/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/user_management/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/user_management/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/user_management/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/user_management/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-main]
|
||||
source_file = apps/main/locale/en/LC_MESSAGES/django.po
|
||||
@@ -60,6 +66,7 @@ trans.pt = apps/main/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/main/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/main/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/main/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/main/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-ocr]
|
||||
source_file = apps/ocr/locale/en/LC_MESSAGES/django.po
|
||||
@@ -69,6 +76,7 @@ trans.pt = apps/ocr/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/ocr/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/ocr/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/ocr/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/ocr/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-project_setup]
|
||||
source_file = apps/project_setup/locale/en/LC_MESSAGES/django.po
|
||||
@@ -78,6 +86,7 @@ trans.pt = apps/project_setup/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/project_setup/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/project_setup/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/project_setup/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/project_setup/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[main]
|
||||
host = https://www.transifex.net
|
||||
@@ -90,6 +99,7 @@ trans.pt = apps/folders/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/folders/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/folders/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/folders/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/folders/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-history]
|
||||
source_file = apps/history/locale/en/LC_MESSAGES/django.po
|
||||
@@ -99,6 +109,7 @@ trans.pt = apps/history/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/history/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/history/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/history/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/history/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-dynamic_search]
|
||||
source_file = apps/dynamic_search/locale/en/LC_MESSAGES/django.po
|
||||
@@ -108,6 +119,7 @@ trans.pt = apps/dynamic_search/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/dynamic_search/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/dynamic_search/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/dynamic_search/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-smart_settings]
|
||||
source_file = apps/smart_settings/locale/en/LC_MESSAGES/django.po
|
||||
@@ -117,6 +129,7 @@ trans.pt = apps/smart_settings/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/smart_settings/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/smart_settings/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/smart_settings/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/smart_settings/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-navigation]
|
||||
source_file = apps/navigation/locale/en/LC_MESSAGES/django.po
|
||||
@@ -126,6 +139,7 @@ trans.pt = apps/navigation/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/navigation/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/navigation/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/navigation/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/navigation/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-tags]
|
||||
source_file = apps/tags/locale/en/LC_MESSAGES/django.po
|
||||
@@ -135,6 +149,7 @@ trans.pt = apps/tags/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/tags/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/tags/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/tags/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/tags/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-documents]
|
||||
source_file = apps/documents/locale/en/LC_MESSAGES/django.po
|
||||
@@ -144,6 +159,7 @@ trans.pt = apps/documents/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/documents/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/documents/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/documents/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/documents/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-project_tools]
|
||||
source_file = apps/project_tools/locale/en/LC_MESSAGES/django.po
|
||||
@@ -153,6 +169,7 @@ trans.pt = apps/project_tools/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/project_tools/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/project_tools/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/project_tools/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/project_tools/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-linking]
|
||||
source_file = apps/linking/locale/en/LC_MESSAGES/django.po
|
||||
@@ -162,6 +179,7 @@ trans.pt = apps/linking/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/linking/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/linking/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/linking/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/linking/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-document_comments]
|
||||
source_file = apps/document_comments/locale/en/LC_MESSAGES/django.po
|
||||
@@ -171,6 +189,7 @@ trans.pt = apps/document_comments/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/document_comments/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/document_comments/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/document_comments/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/document_comments/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-metadata]
|
||||
source_file = apps/metadata/locale/en/LC_MESSAGES/django.po
|
||||
@@ -180,6 +199,7 @@ trans.pt = apps/metadata/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/metadata/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/metadata/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/metadata/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/metadata/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-web_theme]
|
||||
source_file = apps/web_theme/locale/en/LC_MESSAGES/django.po
|
||||
@@ -189,6 +209,7 @@ trans.pt = apps/web_theme/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/web_theme/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/web_theme/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/web_theme/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/web_theme/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-django_gpg]
|
||||
source_file = apps/django_gpg/locale/en/LC_MESSAGES/django.po
|
||||
@@ -198,6 +219,7 @@ trans.pt = apps/django_gpg/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/django_gpg/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/django_gpg/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/django_gpg/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/django_gpg/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-document_signatures]
|
||||
source_file = apps/document_signatures/locale/en/LC_MESSAGES/django.po
|
||||
@@ -207,6 +229,7 @@ trans.pt = apps/document_signatures/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/document_signatures/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/document_signatures/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/document_signatures/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/document_signatures/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-acls]
|
||||
source_file = apps/acls/locale/en/LC_MESSAGES/django.po
|
||||
@@ -216,12 +239,24 @@ trans.pt = apps/acls/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/acls/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/acls/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/acls/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/acls/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-feedback]
|
||||
source_file = apps/feedback/locale/en/LC_MESSAGES/django.po
|
||||
[mayan-edms.apps-installation]
|
||||
source_file = apps/installation/locale/en/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
trans.es = apps/feedback/locale/es/LC_MESSAGES/django.po
|
||||
trans.pt = apps/feedback/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/feedback/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/feedback/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/feedback/locale/pl/LC_MESSAGES/django.po
|
||||
trans.es = apps/installation/locale/es/LC_MESSAGES/django.po
|
||||
trans.pt = apps/installation/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/installation/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/installation/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/installation/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/installation/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
[mayan-edms.apps-scheduler]
|
||||
source_file = apps/scheduler/locale/en/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
trans.es = apps/scheduler/locale/es/LC_MESSAGES/django.po
|
||||
trans.pt = apps/scheduler/locale/pt/LC_MESSAGES/django.po
|
||||
trans.ru = apps/scheduler/locale/ru/LC_MESSAGES/django.po
|
||||
trans.it = apps/scheduler/locale/it/LC_MESSAGES/django.po
|
||||
trans.pl = apps/scheduler/locale/pl/LC_MESSAGES/django.po
|
||||
trans.de_DE = apps/scheduler/locale/de_DE/LC_MESSAGES/django.po
|
||||
|
||||
14
README.md
14
README.md
@@ -1,11 +1,13 @@
|
||||

|
||||

|
||||
|
||||
Mayan
|
||||
=====
|
||||
Mayan EDMS
|
||||
==========
|
||||
|
||||
Open source, Django based document manager with custom metadata indexing, file serving integration and OCR capabilities.
|
||||
Open source, Django based document management system with custom metadata
|
||||
indexing, file serving integration, tagging, digital signature verification,
|
||||
text parsing and OCR capabilities.
|
||||
|
||||
[Website](http://bit.ly/mayan-edms)
|
||||
[Website](http://www.mayan-edms.com)
|
||||
|
||||
[Video demostration](http://bit.ly/pADNXv)
|
||||
|
||||
@@ -40,7 +42,7 @@ This project is open sourced under [GNU GPL Version 3](http://www.gnu.org/licens
|
||||
|
||||
Author
|
||||
------
|
||||
Roberto Rosario - [Twitter](http://twitter.com/#siloraptor) [E-mail](mailto://roberto.rosario_at_gmail)
|
||||
Roberto Rosario - [Twitter](http://twitter.com/#siloraptor) [E-mail](mailto://roberto.rosario@mayan-edms.com)
|
||||
|
||||
|
||||
Donations
|
||||
|
||||
BIN
apps/acls/locale/de_DE/LC_MESSAGES/django.mo
Normal file
BIN
apps/acls/locale/de_DE/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
242
apps/acls/locale/de_DE/LC_MESSAGES/django.po
Normal file
242
apps/acls/locale/de_DE/LC_MESSAGES/django.po
Normal file
@@ -0,0 +1,242 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# <tilmann.sittig@web.de>, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-06-10 13:06+0000\n"
|
||||
"Last-Translator: tilmannsittig <tilmann.sittig@web.de>\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:14
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: __init__.py:15 __init__.py:23
|
||||
msgid "details"
|
||||
msgstr "Details"
|
||||
|
||||
#: __init__.py:16 __init__.py:25
|
||||
msgid "grant"
|
||||
msgstr "Erlauben"
|
||||
|
||||
#: __init__.py:17 __init__.py:26
|
||||
msgid "revoke"
|
||||
msgstr "Entziehen"
|
||||
|
||||
#: __init__.py:18 __init__.py:24 forms.py:21
|
||||
msgid "New holder"
|
||||
msgstr "Neuer Berechtigter"
|
||||
|
||||
#: __init__.py:20
|
||||
msgid "Default ACLs"
|
||||
msgstr "Standard-ACLs"
|
||||
|
||||
#: __init__.py:21
|
||||
msgid "List of classes"
|
||||
msgstr "Liste der Klassen"
|
||||
|
||||
#: __init__.py:22
|
||||
msgid "ACLs for class"
|
||||
msgstr "ACLs für Klasse"
|
||||
|
||||
#: forms.py:38
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#: forms.py:41
|
||||
msgid "Groups"
|
||||
msgstr "Gruppen"
|
||||
|
||||
#: forms.py:44
|
||||
msgid "Roles"
|
||||
msgstr "Rollen"
|
||||
|
||||
#: forms.py:47
|
||||
msgid "Special"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:118 managers.py:130
|
||||
msgid "Insufficient access."
|
||||
msgstr "Unzureichender Zugriff."
|
||||
|
||||
#: models.py:25 models.py:67
|
||||
msgid "permission"
|
||||
msgstr "Berechtigung"
|
||||
|
||||
#: models.py:51
|
||||
msgid "access entry"
|
||||
msgstr "Zugriffsberechtigungseintrag"
|
||||
|
||||
#: models.py:52
|
||||
msgid "access entries"
|
||||
msgstr "Zugriffsberechtigungseinträge"
|
||||
|
||||
#: models.py:88
|
||||
msgid "default access entry"
|
||||
msgstr "Standard-Zugriffsberechtigungseintrag"
|
||||
|
||||
#: models.py:89
|
||||
msgid "default access entries"
|
||||
msgstr "Standard-Zugriffsberechtigungseinträge"
|
||||
|
||||
#: models.py:108
|
||||
msgid "Creator"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:111 models.py:112
|
||||
msgid "creator"
|
||||
msgstr ""
|
||||
|
||||
#: permissions.py:7 permissions.py:8
|
||||
msgid "Access control lists"
|
||||
msgstr "Zugriffs-Berechtigungs-Listen (ACLs)"
|
||||
|
||||
#: permissions.py:10
|
||||
msgid "Edit ACLs"
|
||||
msgstr "ACLs bearbeiten"
|
||||
|
||||
#: permissions.py:11
|
||||
msgid "View ACLs"
|
||||
msgstr "ACLs anzeigen"
|
||||
|
||||
#: permissions.py:13
|
||||
msgid "Edit class default ACLs"
|
||||
msgstr "Standard-ACLs für Klasse bearbeiten"
|
||||
|
||||
#: permissions.py:14
|
||||
msgid "View class default ACLs"
|
||||
msgstr "Standard-ACLs für Klasse anzeigen"
|
||||
|
||||
#: views.py:47
|
||||
#, python-format
|
||||
msgid "access control lists for: %s"
|
||||
msgstr "Standard-ACLs für: %s"
|
||||
|
||||
#: views.py:49 views.py:409
|
||||
msgid "holder"
|
||||
msgstr "Berechtigter"
|
||||
|
||||
#: views.py:50 views.py:410
|
||||
msgid "permissions"
|
||||
msgstr "Berechtigungen"
|
||||
|
||||
#: views.py:97
|
||||
#, python-format
|
||||
msgid "permissions available to: %(actor)s for %(obj)s"
|
||||
msgstr "verfügbare Berechtigungen: %(actor)s für %(obj)s "
|
||||
|
||||
#: views.py:104 views.py:442
|
||||
msgid "namespace"
|
||||
msgstr "Namensraum"
|
||||
|
||||
#: views.py:105 views.py:443
|
||||
msgid "label"
|
||||
msgstr "Bezeichner"
|
||||
|
||||
#: views.py:107 views.py:445
|
||||
msgid "has permission"
|
||||
msgstr "hat die Berechtigung"
|
||||
|
||||
#: views.py:184 views.py:277 views.py:525 views.py:604
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: views.py:185 views.py:278 views.py:526 views.py:605
|
||||
#, python-format
|
||||
msgid " for %s"
|
||||
msgstr "für %s"
|
||||
|
||||
#: views.py:186 views.py:527
|
||||
#, python-format
|
||||
msgid " to %s"
|
||||
msgstr "zu %s"
|
||||
|
||||
#: views.py:189 views.py:530
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
|
||||
msgstr "Sind Sie sicher, dass Sie Berechtigung %(title_suffix)s erteilen möchten?"
|
||||
|
||||
#: views.py:191 views.py:532
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
|
||||
msgstr "Sind Sie sicher, dass Sie Berechtigungen %(title_suffix)s erteilen möchten?"
|
||||
|
||||
#: views.py:198 views.py:539
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:204 views.py:545
|
||||
#, python-format
|
||||
msgid ""
|
||||
"%(actor)s, already had the permission \"%(permission)s\" granted for "
|
||||
"%(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:279 views.py:606
|
||||
#, python-format
|
||||
msgid " from %s"
|
||||
msgstr "von %s"
|
||||
|
||||
#: views.py:282 views.py:609
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
|
||||
msgstr "Sind Sie sicher, dass Sie Berechtigung %(title_suffix)s enziehen möchten?"
|
||||
|
||||
#: views.py:284 views.py:611
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
|
||||
msgstr "Sind Sie sicher, dass Sie Berechtigungen %(title_suffix)s enziehen möchten?"
|
||||
|
||||
#: views.py:291 views.py:618
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:297 views.py:624
|
||||
#, python-format
|
||||
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:353
|
||||
#, python-format
|
||||
msgid "add new holder for: %s"
|
||||
msgstr "neuen Berechtigten für %s hinzufügen"
|
||||
|
||||
#: views.py:354 views.py:486
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:386
|
||||
msgid "classes"
|
||||
msgstr "Klassen"
|
||||
|
||||
#: views.py:388
|
||||
msgid "class"
|
||||
msgstr "Klasse"
|
||||
|
||||
#: views.py:407
|
||||
#, python-format
|
||||
msgid "default access control lists for class: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:435
|
||||
#, python-format
|
||||
msgid "permissions available to: %(actor)s for class %(class)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:484
|
||||
#, python-format
|
||||
msgid "add new holder for class: %s"
|
||||
msgstr ""
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 19:03-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -65,35 +65,35 @@ msgstr ""
|
||||
msgid "Special"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:116 managers.py:128
|
||||
#: managers.py:118 managers.py:130
|
||||
msgid "Insufficient access."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:27 models.py:69
|
||||
#: models.py:25 models.py:67
|
||||
msgid "permission"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:53
|
||||
#: models.py:51
|
||||
msgid "access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:54
|
||||
#: models.py:52
|
||||
msgid "access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:90
|
||||
#: models.py:88
|
||||
msgid "default access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:91
|
||||
#: models.py:89
|
||||
msgid "default access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:109
|
||||
#: models.py:108
|
||||
msgid "Creator"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:112 models.py:113
|
||||
#: models.py:111 models.py:112
|
||||
msgid "creator"
|
||||
msgstr ""
|
||||
|
||||
@@ -122,11 +122,11 @@ msgstr ""
|
||||
msgid "access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:49 views.py:411
|
||||
#: views.py:49 views.py:409
|
||||
msgid "holder"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:50 views.py:412
|
||||
#: views.py:50 views.py:410
|
||||
msgid "permissions"
|
||||
msgstr ""
|
||||
|
||||
@@ -135,107 +135,107 @@ msgstr ""
|
||||
msgid "permissions available to: %(actor)s for %(obj)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:104 views.py:444
|
||||
#: views.py:104 views.py:442
|
||||
msgid "namespace"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:105 views.py:445
|
||||
#: views.py:105 views.py:443
|
||||
msgid "label"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:107 views.py:447
|
||||
#: views.py:107 views.py:445
|
||||
msgid "has permission"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:185 views.py:279 views.py:528 views.py:608
|
||||
#: views.py:184 views.py:277 views.py:525 views.py:604
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: views.py:186 views.py:280 views.py:529 views.py:609
|
||||
#: views.py:185 views.py:278 views.py:526 views.py:605
|
||||
#, python-format
|
||||
msgid " for %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:187 views.py:530
|
||||
#: views.py:186 views.py:527
|
||||
#, python-format
|
||||
msgid " to %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:190 views.py:533
|
||||
#: views.py:189 views.py:530
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:192 views.py:535
|
||||
#: views.py:191 views.py:532
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:199 views.py:542
|
||||
#: views.py:198 views.py:539
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:205 views.py:548
|
||||
#: views.py:204 views.py:545
|
||||
#, python-format
|
||||
msgid ""
|
||||
"%(actor)s, already had the permission \"%(permission)s\" granted for "
|
||||
"%(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:281 views.py:610
|
||||
#: views.py:279 views.py:606
|
||||
#, python-format
|
||||
msgid " from %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:284 views.py:613
|
||||
#: views.py:282 views.py:609
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:286 views.py:615
|
||||
#: views.py:284 views.py:611
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:293 views.py:622
|
||||
#: views.py:291 views.py:618
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:299 views.py:628
|
||||
#: views.py:297 views.py:624
|
||||
#, python-format
|
||||
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:355
|
||||
#: views.py:353
|
||||
#, python-format
|
||||
msgid "add new holder for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:356 views.py:488
|
||||
#: views.py:354 views.py:486
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:388
|
||||
#: views.py:386
|
||||
msgid "classes"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:390
|
||||
#: views.py:388
|
||||
msgid "class"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:409
|
||||
#: views.py:407
|
||||
#, python-format
|
||||
msgid "default access control lists for class: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:437
|
||||
#: views.py:435
|
||||
#, python-format
|
||||
msgid "permissions available to: %(actor)s for class %(class)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:486
|
||||
#: views.py:484
|
||||
#, python-format
|
||||
msgid "add new holder for class: %s"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -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:
|
||||
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-02-12 00:16+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/"
|
||||
"mayan-edms/team/es/)\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:14
|
||||
@@ -67,35 +66,35 @@ msgstr "Funciones"
|
||||
msgid "Special"
|
||||
msgstr "Especial"
|
||||
|
||||
#: managers.py:116 managers.py:128
|
||||
#: managers.py:118 managers.py:130
|
||||
msgid "Insufficient access."
|
||||
msgstr "Acceso insuficiente."
|
||||
|
||||
#: models.py:27 models.py:69
|
||||
#: models.py:25 models.py:67
|
||||
msgid "permission"
|
||||
msgstr "permiso"
|
||||
|
||||
#: models.py:53
|
||||
#: models.py:51
|
||||
msgid "access entry"
|
||||
msgstr "entrada de acceso"
|
||||
|
||||
#: models.py:54
|
||||
#: models.py:52
|
||||
msgid "access entries"
|
||||
msgstr "entradas de acceso"
|
||||
|
||||
#: models.py:90
|
||||
#: models.py:88
|
||||
msgid "default access entry"
|
||||
msgstr "entrada de acceso por defecto"
|
||||
|
||||
#: models.py:91
|
||||
#: models.py:89
|
||||
msgid "default access entries"
|
||||
msgstr "entradas de acceso por defecto"
|
||||
|
||||
#: models.py:109
|
||||
#: models.py:108
|
||||
msgid "Creator"
|
||||
msgstr "Creador"
|
||||
|
||||
#: models.py:112 models.py:113
|
||||
#: models.py:111 models.py:112
|
||||
msgid "creator"
|
||||
msgstr "creador"
|
||||
|
||||
@@ -124,11 +123,11 @@ msgstr "Ver LCA por defecto de la clase"
|
||||
msgid "access control lists for: %s"
|
||||
msgstr "listas de control de acceso para: %s"
|
||||
|
||||
#: views.py:49 views.py:411
|
||||
#: views.py:49 views.py:409
|
||||
msgid "holder"
|
||||
msgstr "titular"
|
||||
|
||||
#: views.py:50 views.py:412
|
||||
#: views.py:50 views.py:410
|
||||
msgid "permissions"
|
||||
msgstr "permisos"
|
||||
|
||||
@@ -137,108 +136,107 @@ msgstr "permisos"
|
||||
msgid "permissions available to: %(actor)s for %(obj)s"
|
||||
msgstr "permisos disponibles a: %(actor)s para %(obj)s "
|
||||
|
||||
#: views.py:104 views.py:444
|
||||
#: views.py:104 views.py:442
|
||||
msgid "namespace"
|
||||
msgstr "espacio de nombres"
|
||||
|
||||
#: views.py:105 views.py:445
|
||||
#: views.py:105 views.py:443
|
||||
msgid "label"
|
||||
msgstr "etiqueta"
|
||||
|
||||
#: views.py:107 views.py:447
|
||||
#: views.py:107 views.py:445
|
||||
msgid "has permission"
|
||||
msgstr "tiene permiso"
|
||||
|
||||
#: views.py:185 views.py:279 views.py:528 views.py:608
|
||||
#: views.py:184 views.py:277 views.py:525 views.py:604
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: views.py:186 views.py:280 views.py:529 views.py:609
|
||||
#: views.py:185 views.py:278 views.py:526 views.py:605
|
||||
#, python-format
|
||||
msgid " for %s"
|
||||
msgstr " para %s"
|
||||
|
||||
#: views.py:187 views.py:530
|
||||
#: views.py:186 views.py:527
|
||||
#, python-format
|
||||
msgid " to %s"
|
||||
msgstr " a %s"
|
||||
|
||||
#: views.py:190 views.py:533
|
||||
#: views.py:189 views.py:530
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
|
||||
msgstr "¿Está seguro que desea conceder el permiso %(title_suffix)s?"
|
||||
|
||||
#: views.py:192 views.py:535
|
||||
#: views.py:191 views.py:532
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
|
||||
msgstr "¿Está seguro que desea conceder los permisos de %(title_suffix)s?"
|
||||
|
||||
#: views.py:199 views.py:542
|
||||
#: views.py:198 views.py:539
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgstr "Permiso \"%(permission)s\" otorgado a %(actor)s para %(object)s."
|
||||
|
||||
#: views.py:205 views.py:548
|
||||
#: views.py:204 views.py:545
|
||||
#, python-format
|
||||
msgid ""
|
||||
"%(actor)s, already had the permission \"%(permission)s\" granted for "
|
||||
"%(object)s."
|
||||
msgstr ""
|
||||
"%(actor)s, ya tenía el permiso \"%(permission)s\", otorgado para %(object)s."
|
||||
msgstr "%(actor)s, ya tenía el permiso \"%(permission)s\", otorgado para %(object)s."
|
||||
|
||||
#: views.py:281 views.py:610
|
||||
#: views.py:279 views.py:606
|
||||
#, python-format
|
||||
msgid " from %s"
|
||||
msgstr " de %s"
|
||||
|
||||
#: views.py:284 views.py:613
|
||||
#: views.py:282 views.py:609
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
|
||||
msgstr "¿Está seguro que desea revocar el permiso %(title_suffix)s?"
|
||||
|
||||
#: views.py:286 views.py:615
|
||||
#: views.py:284 views.py:611
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
|
||||
msgstr "¿Está seguro de querer revocar los permisos %(title_suffix)s?"
|
||||
|
||||
#: views.py:293 views.py:622
|
||||
#: views.py:291 views.py:618
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
msgstr "Permiso \"%(permission)s\" revocado del %(actor)s para %(object)s."
|
||||
|
||||
#: views.py:299 views.py:628
|
||||
#: views.py:297 views.py:624
|
||||
#, python-format
|
||||
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
msgstr "%(actor)s, no tenía el permiso \"%(permission)s\" para %(object)s."
|
||||
|
||||
#: views.py:355
|
||||
#: views.py:353
|
||||
#, python-format
|
||||
msgid "add new holder for: %s"
|
||||
msgstr "añadir nuevo titular para: %s"
|
||||
|
||||
#: views.py:356 views.py:488
|
||||
#: views.py:354 views.py:486
|
||||
msgid "Select"
|
||||
msgstr "Seleccionar"
|
||||
|
||||
#: views.py:388
|
||||
#: views.py:386
|
||||
msgid "classes"
|
||||
msgstr "clases"
|
||||
|
||||
#: views.py:390
|
||||
#: views.py:388
|
||||
msgid "class"
|
||||
msgstr "clase"
|
||||
|
||||
#: views.py:409
|
||||
#: views.py:407
|
||||
#, python-format
|
||||
msgid "default access control lists for class: %s"
|
||||
msgstr "listas de control de acceso por defecto para la clase: %s"
|
||||
|
||||
#: views.py:437
|
||||
#: views.py:435
|
||||
#, python-format
|
||||
msgid "permissions available to: %(actor)s for class %(class)s"
|
||||
msgstr "permisos disponibles para: %(actor)s para la clase %(class)s "
|
||||
|
||||
#: views.py:486
|
||||
#: views.py:484
|
||||
#, python-format
|
||||
msgid "add new holder for class: %s"
|
||||
msgstr "añadir nuevo titular para la clase: %s"
|
||||
|
||||
Binary file not shown.
@@ -3,15 +3,16 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Carlo Zanatto <>, 2012.
|
||||
# Pierpaolo Baldan <pierpaolo.baldan@gmail.com>, 2012.
|
||||
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"PO-Revision-Date: 2012-03-21 14:55+0000\n"
|
||||
"Last-Translator: Pierpaolo Baldan <pierpaolo.baldan@gmail.com>\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-06-08 07:20+0000\n"
|
||||
"Last-Translator: Carlo Zanatto <>\n"
|
||||
"Language-Team: Italian (http://www.transifex.net/projects/p/mayan-edms/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -29,7 +30,7 @@ msgstr "dettagli"
|
||||
|
||||
#: __init__.py:16 __init__.py:25
|
||||
msgid "grant"
|
||||
msgstr "concedere"
|
||||
msgstr "permetti"
|
||||
|
||||
#: __init__.py:17 __init__.py:26
|
||||
msgid "revoke"
|
||||
@@ -67,35 +68,35 @@ msgstr "Ruoli"
|
||||
msgid "Special"
|
||||
msgstr "Speciale"
|
||||
|
||||
#: managers.py:116 managers.py:128
|
||||
#: managers.py:118 managers.py:130
|
||||
msgid "Insufficient access."
|
||||
msgstr "Accesso insufficiente."
|
||||
|
||||
#: models.py:27 models.py:69
|
||||
#: models.py:25 models.py:67
|
||||
msgid "permission"
|
||||
msgstr "autorizzazione"
|
||||
|
||||
#: models.py:53
|
||||
#: models.py:51
|
||||
msgid "access entry"
|
||||
msgstr "voce di accesso"
|
||||
|
||||
#: models.py:54
|
||||
#: models.py:52
|
||||
msgid "access entries"
|
||||
msgstr "voci di accesso"
|
||||
|
||||
#: models.py:90
|
||||
#: models.py:88
|
||||
msgid "default access entry"
|
||||
msgstr "accesso voce predefinita"
|
||||
|
||||
#: models.py:91
|
||||
#: models.py:89
|
||||
msgid "default access entries"
|
||||
msgstr "voci di accesso predefinite "
|
||||
|
||||
#: models.py:109
|
||||
#: models.py:108
|
||||
msgid "Creator"
|
||||
msgstr "Creatore"
|
||||
|
||||
#: models.py:112 models.py:113
|
||||
#: models.py:111 models.py:112
|
||||
msgid "creator"
|
||||
msgstr "creatore"
|
||||
|
||||
@@ -124,11 +125,11 @@ msgstr "Visualizza classi ACL predefinite"
|
||||
msgid "access control lists for: %s"
|
||||
msgstr "lista controllo accessi per: %s"
|
||||
|
||||
#: views.py:49 views.py:411
|
||||
#: views.py:49 views.py:409
|
||||
msgid "holder"
|
||||
msgstr "titolare"
|
||||
|
||||
#: views.py:50 views.py:412
|
||||
#: views.py:50 views.py:410
|
||||
msgid "permissions"
|
||||
msgstr "le autorizzazioni"
|
||||
|
||||
@@ -137,107 +138,107 @@ msgstr "le autorizzazioni"
|
||||
msgid "permissions available to: %(actor)s for %(obj)s"
|
||||
msgstr "autorizzazioni disponibili per: %(actor)s per %(obj)s "
|
||||
|
||||
#: views.py:104 views.py:444
|
||||
#: views.py:104 views.py:442
|
||||
msgid "namespace"
|
||||
msgstr "namespace"
|
||||
|
||||
#: views.py:105 views.py:445
|
||||
#: views.py:105 views.py:443
|
||||
msgid "label"
|
||||
msgstr "etichetta"
|
||||
|
||||
#: views.py:107 views.py:447
|
||||
#: views.py:107 views.py:445
|
||||
msgid "has permission"
|
||||
msgstr "ha l'autorizzazione"
|
||||
|
||||
#: views.py:185 views.py:279 views.py:528 views.py:608
|
||||
#: views.py:184 views.py:277 views.py:525 views.py:604
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: views.py:186 views.py:280 views.py:529 views.py:609
|
||||
#: views.py:185 views.py:278 views.py:526 views.py:605
|
||||
#, python-format
|
||||
msgid " for %s"
|
||||
msgstr "per %s"
|
||||
|
||||
#: views.py:187 views.py:530
|
||||
#: views.py:186 views.py:527
|
||||
#, python-format
|
||||
msgid " to %s"
|
||||
msgstr "a %s"
|
||||
|
||||
#: views.py:190 views.py:533
|
||||
#: views.py:189 views.py:530
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
|
||||
msgstr "Sei sicuro di voler concedere l'autorizzazione %(title_suffix)s?"
|
||||
|
||||
#: views.py:192 views.py:535
|
||||
#: views.py:191 views.py:532
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
|
||||
msgstr "Sei sicuro di voler concedere permessi %(title_suffix)s?"
|
||||
|
||||
#: views.py:199 views.py:542
|
||||
#: views.py:198 views.py:539
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgstr "Permesso \"%(permission)s\" concesso%(actor)s per %(object)s."
|
||||
|
||||
#: views.py:205 views.py:548
|
||||
#: views.py:204 views.py:545
|
||||
#, python-format
|
||||
msgid ""
|
||||
"%(actor)s, already had the permission \"%(permission)s\" granted for "
|
||||
"%(object)s."
|
||||
msgstr "%(actor)s, ha già i permessi\"%(permission)s\" concessi per%(object)s."
|
||||
|
||||
#: views.py:281 views.py:610
|
||||
#: views.py:279 views.py:606
|
||||
#, python-format
|
||||
msgid " from %s"
|
||||
msgstr "da %s"
|
||||
|
||||
#: views.py:284 views.py:613
|
||||
#: views.py:282 views.py:609
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
|
||||
msgstr "Sei sicuro di voler revocare l'autorizzazione %(title_suffix)s?"
|
||||
|
||||
#: views.py:286 views.py:615
|
||||
#: views.py:284 views.py:611
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
|
||||
msgstr "Sei sicuro di voler revocare permessi %(title_suffix)s?"
|
||||
|
||||
#: views.py:293 views.py:622
|
||||
#: views.py:291 views.py:618
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
msgstr "Permessi \"%(permission)s\" revocati al %(actor)s per %(object)s."
|
||||
|
||||
#: views.py:299 views.py:628
|
||||
#: views.py:297 views.py:624
|
||||
#, python-format
|
||||
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
msgstr "%(actor)s, non ha i permessi\"%(permission)s\" per %(object)s."
|
||||
|
||||
#: views.py:355
|
||||
#: views.py:353
|
||||
#, python-format
|
||||
msgid "add new holder for: %s"
|
||||
msgstr "aggiungi nuovo titolare per: %s"
|
||||
|
||||
#: views.py:356 views.py:488
|
||||
#: views.py:354 views.py:486
|
||||
msgid "Select"
|
||||
msgstr "Selezionare"
|
||||
|
||||
#: views.py:388
|
||||
#: views.py:386
|
||||
msgid "classes"
|
||||
msgstr "classi"
|
||||
|
||||
#: views.py:390
|
||||
#: views.py:388
|
||||
msgid "class"
|
||||
msgstr "classe"
|
||||
|
||||
#: views.py:409
|
||||
#: views.py:407
|
||||
#, python-format
|
||||
msgid "default access control lists for class: %s"
|
||||
msgstr "lista di default per il controllo accessi per la classe: %s"
|
||||
|
||||
#: views.py:437
|
||||
#: views.py:435
|
||||
#, python-format
|
||||
msgid "permissions available to: %(actor)s for class %(class)s"
|
||||
msgstr "permessi disponibili per: %(actor)s per la classe %(class)s"
|
||||
|
||||
#: views.py:486
|
||||
#: views.py:484
|
||||
#, python-format
|
||||
msgid "add new holder for class: %s"
|
||||
msgstr "aggiungi un nuovo titolare per la calsse: %s"
|
||||
|
||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-01-02 09:45+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Polish (http://www.transifex.net/projects/p/mayan-edms/language/pl/)\n"
|
||||
@@ -65,35 +65,35 @@ msgstr ""
|
||||
msgid "Special"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:116 managers.py:128
|
||||
#: managers.py:118 managers.py:130
|
||||
msgid "Insufficient access."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:27 models.py:69
|
||||
#: models.py:25 models.py:67
|
||||
msgid "permission"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:53
|
||||
#: models.py:51
|
||||
msgid "access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:54
|
||||
#: models.py:52
|
||||
msgid "access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:90
|
||||
#: models.py:88
|
||||
msgid "default access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:91
|
||||
#: models.py:89
|
||||
msgid "default access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:109
|
||||
#: models.py:108
|
||||
msgid "Creator"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:112 models.py:113
|
||||
#: models.py:111 models.py:112
|
||||
msgid "creator"
|
||||
msgstr ""
|
||||
|
||||
@@ -122,11 +122,11 @@ msgstr ""
|
||||
msgid "access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:49 views.py:411
|
||||
#: views.py:49 views.py:409
|
||||
msgid "holder"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:50 views.py:412
|
||||
#: views.py:50 views.py:410
|
||||
msgid "permissions"
|
||||
msgstr ""
|
||||
|
||||
@@ -135,107 +135,107 @@ msgstr ""
|
||||
msgid "permissions available to: %(actor)s for %(obj)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:104 views.py:444
|
||||
#: views.py:104 views.py:442
|
||||
msgid "namespace"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:105 views.py:445
|
||||
#: views.py:105 views.py:443
|
||||
msgid "label"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:107 views.py:447
|
||||
#: views.py:107 views.py:445
|
||||
msgid "has permission"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:185 views.py:279 views.py:528 views.py:608
|
||||
#: views.py:184 views.py:277 views.py:525 views.py:604
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: views.py:186 views.py:280 views.py:529 views.py:609
|
||||
#: views.py:185 views.py:278 views.py:526 views.py:605
|
||||
#, python-format
|
||||
msgid " for %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:187 views.py:530
|
||||
#: views.py:186 views.py:527
|
||||
#, python-format
|
||||
msgid " to %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:190 views.py:533
|
||||
#: views.py:189 views.py:530
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:192 views.py:535
|
||||
#: views.py:191 views.py:532
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:199 views.py:542
|
||||
#: views.py:198 views.py:539
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:205 views.py:548
|
||||
#: views.py:204 views.py:545
|
||||
#, python-format
|
||||
msgid ""
|
||||
"%(actor)s, already had the permission \"%(permission)s\" granted for "
|
||||
"%(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:281 views.py:610
|
||||
#: views.py:279 views.py:606
|
||||
#, python-format
|
||||
msgid " from %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:284 views.py:613
|
||||
#: views.py:282 views.py:609
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:286 views.py:615
|
||||
#: views.py:284 views.py:611
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:293 views.py:622
|
||||
#: views.py:291 views.py:618
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:299 views.py:628
|
||||
#: views.py:297 views.py:624
|
||||
#, python-format
|
||||
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:355
|
||||
#: views.py:353
|
||||
#, python-format
|
||||
msgid "add new holder for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:356 views.py:488
|
||||
#: views.py:354 views.py:486
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:388
|
||||
#: views.py:386
|
||||
msgid "classes"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:390
|
||||
#: views.py:388
|
||||
msgid "class"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:409
|
||||
#: views.py:407
|
||||
#, python-format
|
||||
msgid "default access control lists for class: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:437
|
||||
#: views.py:435
|
||||
#, python-format
|
||||
msgid "permissions available to: %(actor)s for class %(class)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:486
|
||||
#: views.py:484
|
||||
#, python-format
|
||||
msgid "add new holder for class: %s"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -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: 2012-02-12 15:20-0400\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:20+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.net/projects/p/mayan-edms/"
|
||||
"team/pt/)\n"
|
||||
"Language: pt\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:14
|
||||
@@ -66,35 +65,35 @@ msgstr ""
|
||||
msgid "Special"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:116 managers.py:128
|
||||
#: managers.py:118 managers.py:130
|
||||
msgid "Insufficient access."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:27 models.py:69
|
||||
#: models.py:25 models.py:67
|
||||
msgid "permission"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:53
|
||||
#: models.py:51
|
||||
msgid "access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:54
|
||||
#: models.py:52
|
||||
msgid "access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:90
|
||||
#: models.py:88
|
||||
msgid "default access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:91
|
||||
#: models.py:89
|
||||
msgid "default access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:109
|
||||
#: models.py:108
|
||||
msgid "Creator"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:112 models.py:113
|
||||
#: models.py:111 models.py:112
|
||||
msgid "creator"
|
||||
msgstr ""
|
||||
|
||||
@@ -123,11 +122,11 @@ msgstr ""
|
||||
msgid "access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:49 views.py:411
|
||||
#: views.py:49 views.py:409
|
||||
msgid "holder"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:50 views.py:412
|
||||
#: views.py:50 views.py:410
|
||||
msgid "permissions"
|
||||
msgstr ""
|
||||
|
||||
@@ -136,107 +135,107 @@ msgstr ""
|
||||
msgid "permissions available to: %(actor)s for %(obj)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:104 views.py:444
|
||||
#: views.py:104 views.py:442
|
||||
msgid "namespace"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:105 views.py:445
|
||||
#: views.py:105 views.py:443
|
||||
msgid "label"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:107 views.py:447
|
||||
#: views.py:107 views.py:445
|
||||
msgid "has permission"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:185 views.py:279 views.py:528 views.py:608
|
||||
#: views.py:184 views.py:277 views.py:525 views.py:604
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: views.py:186 views.py:280 views.py:529 views.py:609
|
||||
#: views.py:185 views.py:278 views.py:526 views.py:605
|
||||
#, python-format
|
||||
msgid " for %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:187 views.py:530
|
||||
#: views.py:186 views.py:527
|
||||
#, python-format
|
||||
msgid " to %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:190 views.py:533
|
||||
#: views.py:189 views.py:530
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:192 views.py:535
|
||||
#: views.py:191 views.py:532
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:199 views.py:542
|
||||
#: views.py:198 views.py:539
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:205 views.py:548
|
||||
#: views.py:204 views.py:545
|
||||
#, python-format
|
||||
msgid ""
|
||||
"%(actor)s, already had the permission \"%(permission)s\" granted for "
|
||||
"%(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:281 views.py:610
|
||||
#: views.py:279 views.py:606
|
||||
#, python-format
|
||||
msgid " from %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:284 views.py:613
|
||||
#: views.py:282 views.py:609
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:286 views.py:615
|
||||
#: views.py:284 views.py:611
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:293 views.py:622
|
||||
#: views.py:291 views.py:618
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:299 views.py:628
|
||||
#: views.py:297 views.py:624
|
||||
#, python-format
|
||||
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:355
|
||||
#: views.py:353
|
||||
#, python-format
|
||||
msgid "add new holder for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:356 views.py:488
|
||||
#: views.py:354 views.py:486
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:388
|
||||
#: views.py:386
|
||||
msgid "classes"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:390
|
||||
#: views.py:388
|
||||
msgid "class"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:409
|
||||
#: views.py:407
|
||||
#, python-format
|
||||
msgid "default access control lists for class: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:437
|
||||
#: views.py:435
|
||||
#, python-format
|
||||
msgid "permissions available to: %(actor)s for class %(class)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:486
|
||||
#: views.py:484
|
||||
#, python-format
|
||||
msgid "add new holder for class: %s"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-02-27 04:26+0000\n"
|
||||
"Last-Translator: Sergey Glita <gsv70@mail.ru>\n"
|
||||
"Language-Team: Russian (http://www.transifex.net/projects/p/mayan-edms/language/ru/)\n"
|
||||
@@ -66,35 +66,35 @@ msgstr "Роли"
|
||||
msgid "Special"
|
||||
msgstr "Специальный"
|
||||
|
||||
#: managers.py:116 managers.py:128
|
||||
#: managers.py:118 managers.py:130
|
||||
msgid "Insufficient access."
|
||||
msgstr "Недостаточный доступ."
|
||||
|
||||
#: models.py:27 models.py:69
|
||||
#: models.py:25 models.py:67
|
||||
msgid "permission"
|
||||
msgstr "разрешение"
|
||||
|
||||
#: models.py:53
|
||||
#: models.py:51
|
||||
msgid "access entry"
|
||||
msgstr "запись доступа"
|
||||
|
||||
#: models.py:54
|
||||
#: models.py:52
|
||||
msgid "access entries"
|
||||
msgstr "записи доступа"
|
||||
|
||||
#: models.py:90
|
||||
#: models.py:88
|
||||
msgid "default access entry"
|
||||
msgstr "запись доступа по умолчанию"
|
||||
|
||||
#: models.py:91
|
||||
#: models.py:89
|
||||
msgid "default access entries"
|
||||
msgstr "записи доступа по умолчанию"
|
||||
|
||||
#: models.py:109
|
||||
#: models.py:108
|
||||
msgid "Creator"
|
||||
msgstr "Создатель"
|
||||
|
||||
#: models.py:112 models.py:113
|
||||
#: models.py:111 models.py:112
|
||||
msgid "creator"
|
||||
msgstr "создатель"
|
||||
|
||||
@@ -123,11 +123,11 @@ msgstr "Просмотр списков ACL класса по умолчанию
|
||||
msgid "access control lists for: %s"
|
||||
msgstr "списки контроля доступа для %s"
|
||||
|
||||
#: views.py:49 views.py:411
|
||||
#: views.py:49 views.py:409
|
||||
msgid "holder"
|
||||
msgstr "владелец"
|
||||
|
||||
#: views.py:50 views.py:412
|
||||
#: views.py:50 views.py:410
|
||||
msgid "permissions"
|
||||
msgstr "разрешения"
|
||||
|
||||
@@ -136,107 +136,107 @@ msgstr "разрешения"
|
||||
msgid "permissions available to: %(actor)s for %(obj)s"
|
||||
msgstr "разрешения, доступные %(actor)s для %(obj)s"
|
||||
|
||||
#: views.py:104 views.py:444
|
||||
#: views.py:104 views.py:442
|
||||
msgid "namespace"
|
||||
msgstr "пространство имен"
|
||||
|
||||
#: views.py:105 views.py:445
|
||||
#: views.py:105 views.py:443
|
||||
msgid "label"
|
||||
msgstr "этикетка"
|
||||
|
||||
#: views.py:107 views.py:447
|
||||
#: views.py:107 views.py:445
|
||||
msgid "has permission"
|
||||
msgstr "имеет разрешение"
|
||||
|
||||
#: views.py:185 views.py:279 views.py:528 views.py:608
|
||||
#: views.py:184 views.py:277 views.py:525 views.py:604
|
||||
msgid ", "
|
||||
msgstr ","
|
||||
|
||||
#: views.py:186 views.py:280 views.py:529 views.py:609
|
||||
#: views.py:185 views.py:278 views.py:526 views.py:605
|
||||
#, python-format
|
||||
msgid " for %s"
|
||||
msgstr "для %s"
|
||||
|
||||
#: views.py:187 views.py:530
|
||||
#: views.py:186 views.py:527
|
||||
#, python-format
|
||||
msgid " to %s"
|
||||
msgstr "до %s"
|
||||
|
||||
#: views.py:190 views.py:533
|
||||
#: views.py:189 views.py:530
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
|
||||
msgstr "Вы действительно хотите предоставить разрешение %(title_suffix)s?"
|
||||
|
||||
#: views.py:192 views.py:535
|
||||
#: views.py:191 views.py:532
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
|
||||
msgstr "Вы уверены, что хотите предоставить разрешения %(title_suffix)s?"
|
||||
|
||||
#: views.py:199 views.py:542
|
||||
#: views.py:198 views.py:539
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgstr "Право \"%(permission)s\" проедоставлено %(actor)s для %(object)s."
|
||||
|
||||
#: views.py:205 views.py:548
|
||||
#: views.py:204 views.py:545
|
||||
#, python-format
|
||||
msgid ""
|
||||
"%(actor)s, already had the permission \"%(permission)s\" granted for "
|
||||
"%(object)s."
|
||||
msgstr "%(actor)s, уже имеет право \"%(permission)s\" для %(object)s."
|
||||
|
||||
#: views.py:281 views.py:610
|
||||
#: views.py:279 views.py:606
|
||||
#, python-format
|
||||
msgid " from %s"
|
||||
msgstr "от%s"
|
||||
|
||||
#: views.py:284 views.py:613
|
||||
#: views.py:282 views.py:609
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
|
||||
msgstr "Вы уверены, что хотите отменить разрешение %(title_suffix)s?"
|
||||
|
||||
#: views.py:286 views.py:615
|
||||
#: views.py:284 views.py:611
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
|
||||
msgstr "Вы уверены, что хотите отменить разрешение %(title_suffix)s?"
|
||||
|
||||
#: views.py:293 views.py:622
|
||||
#: views.py:291 views.py:618
|
||||
#, python-format
|
||||
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
msgstr "Право \"%(permission)s\" для %(object)s отозвано у %(actor)s."
|
||||
|
||||
#: views.py:299 views.py:628
|
||||
#: views.py:297 views.py:624
|
||||
#, python-format
|
||||
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
msgstr "%(actor)s не имеет права \"%(permission)s\" для %(object)s."
|
||||
|
||||
#: views.py:355
|
||||
#: views.py:353
|
||||
#, python-format
|
||||
msgid "add new holder for: %s"
|
||||
msgstr "добавить нового владельца для %s"
|
||||
|
||||
#: views.py:356 views.py:488
|
||||
#: views.py:354 views.py:486
|
||||
msgid "Select"
|
||||
msgstr "Выбор"
|
||||
|
||||
#: views.py:388
|
||||
#: views.py:386
|
||||
msgid "classes"
|
||||
msgstr "классы"
|
||||
|
||||
#: views.py:390
|
||||
#: views.py:388
|
||||
msgid "class"
|
||||
msgstr "класс"
|
||||
|
||||
#: views.py:409
|
||||
#: views.py:407
|
||||
#, python-format
|
||||
msgid "default access control lists for class: %s"
|
||||
msgstr "списки контроля доступа умолчанию для класса %s"
|
||||
|
||||
#: views.py:437
|
||||
#: views.py:435
|
||||
#, python-format
|
||||
msgid "permissions available to: %(actor)s for class %(class)s"
|
||||
msgstr "разрешения доступные %(actor)s для класса %(class)s"
|
||||
|
||||
#: views.py:486
|
||||
#: views.py:484
|
||||
#, python-format
|
||||
msgid "add new holder for class: %s"
|
||||
msgstr "добавить нового владельца для класса %s"
|
||||
|
||||
48
apps/checkouts/__init__.py
Normal file
48
apps/checkouts/__init__.py
Normal file
@@ -0,0 +1,48 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from navigation.api import (register_links, register_top_menu,
|
||||
register_multi_item_links, register_sidebar_template)
|
||||
from scheduler.api import register_interval_job
|
||||
|
||||
from documents.models import Document
|
||||
from documents.permissions import PERMISSION_DOCUMENT_VIEW
|
||||
from acls.api import class_permissions
|
||||
from history.api import register_history_type
|
||||
|
||||
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT,
|
||||
PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE,
|
||||
PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE)
|
||||
from .links import checkout_list, checkout_document, checkout_info, checkin_document
|
||||
from .models import DocumentCheckout
|
||||
from .tasks import task_check_expired_check_outs
|
||||
from .events import (HISTORY_DOCUMENT_CHECKED_OUT, HISTORY_DOCUMENT_CHECKED_IN,
|
||||
HISTORY_DOCUMENT_AUTO_CHECKED_IN, HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
|
||||
|
||||
|
||||
def initialize_document_checkout_extra_methods():
|
||||
Document.add_to_class('is_checked_out', lambda document: DocumentCheckout.objects.is_document_checked_out(document))
|
||||
Document.add_to_class('check_in', lambda document, user=None: DocumentCheckout.objects.check_in_document(document, user))
|
||||
Document.add_to_class('checkout_info', lambda document: DocumentCheckout.objects.document_checkout_info(document))
|
||||
Document.add_to_class('checkout_state', lambda document: DocumentCheckout.objects.document_checkout_state(document))
|
||||
Document.add_to_class('is_new_versions_allowed', lambda document, user=None: DocumentCheckout.objects.is_document_new_versions_allowed(document, user))
|
||||
|
||||
register_top_menu(name='checkouts', link=checkout_list)
|
||||
register_links(Document, [checkout_info], menu_name='form_header')
|
||||
register_links(['checkout_info', 'checkout_document', 'checkin_document'], [checkout_document, checkin_document], menu_name="sidebar")
|
||||
|
||||
class_permissions(Document, [
|
||||
PERMISSION_DOCUMENT_CHECKOUT,
|
||||
PERMISSION_DOCUMENT_CHECKIN,
|
||||
PERMISSION_DOCUMENT_CHECKIN_OVERRIDE,
|
||||
PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE
|
||||
])
|
||||
|
||||
CHECK_EXPIRED_CHECK_OUTS_INTERVAL=60 # Lowest check out expiration allowed
|
||||
register_interval_job('task_check_expired_check_outs', _(u'Check expired check out documents and checks them in.'), task_check_expired_check_outs, seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL)
|
||||
initialize_document_checkout_extra_methods()
|
||||
register_history_type(HISTORY_DOCUMENT_CHECKED_OUT)
|
||||
register_history_type(HISTORY_DOCUMENT_CHECKED_IN)
|
||||
register_history_type(HISTORY_DOCUMENT_AUTO_CHECKED_IN)
|
||||
register_history_type(HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
|
||||
28
apps/checkouts/events.py
Normal file
28
apps/checkouts/events.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
HISTORY_DOCUMENT_CHECKED_OUT = {
|
||||
'namespace': 'checkouts', 'name': 'document_checked_out',
|
||||
'label': _(u'Document checked out'),
|
||||
'summary': _(u'Document "%(document)s" checked out by %(fullname)s.'),
|
||||
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user'}
|
||||
}
|
||||
|
||||
HISTORY_DOCUMENT_CHECKED_IN = {
|
||||
'namespace': 'checkouts', 'name': 'document_checked_in',
|
||||
'label': _(u'Document checked in'),
|
||||
'summary': _(u'Document "%(document)s" checked in by %(fullname)s.'),
|
||||
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user'}
|
||||
}
|
||||
|
||||
HISTORY_DOCUMENT_AUTO_CHECKED_IN = {
|
||||
'namespace': 'checkouts', 'name': 'document_auto_checked_in',
|
||||
'label': _(u'Document automatically checked in'),
|
||||
'summary': _(u'Document "%(document)s" automatically checked in.'),
|
||||
}
|
||||
|
||||
HISTORY_DOCUMENT_FORCEFUL_CHECK_IN = {
|
||||
'namespace': 'checkouts', 'name': 'document_forefull_check_in',
|
||||
'label': _(u'Document forcefully checked in'),
|
||||
'summary': _(u'Document "%(document)s" forcefully checked in by %(fullname)s.'),
|
||||
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user'}
|
||||
}
|
||||
11
apps/checkouts/exceptions.py
Normal file
11
apps/checkouts/exceptions.py
Normal file
@@ -0,0 +1,11 @@
|
||||
class DocumentNotCheckedOut(Exception):
|
||||
"""
|
||||
Raised when trying to checkin a document that is not checkedout
|
||||
"""
|
||||
pass
|
||||
|
||||
class DocumentAlreadyCheckedOut(Exception):
|
||||
"""
|
||||
Raised when trying to checkout an already checkedout document
|
||||
"""
|
||||
pass
|
||||
26
apps/checkouts/forms.py
Normal file
26
apps/checkouts/forms.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .models import DocumentCheckout
|
||||
from .exceptions import DocumentAlreadyCheckedOut
|
||||
from .widgets import SplitTimeDeltaField
|
||||
|
||||
|
||||
class DocumentCheckoutForm(forms.ModelForm):
|
||||
expiration_datetime = SplitTimeDeltaField()
|
||||
|
||||
class Meta:
|
||||
model = DocumentCheckout
|
||||
exclude = ('checkout_datetime', 'user_content_type', 'user_object_id')
|
||||
|
||||
widgets = {
|
||||
'document': forms.widgets.HiddenInput(),
|
||||
}
|
||||
|
||||
def clean_document(self):
|
||||
document = self.cleaned_data['document']
|
||||
if document.is_checked_out():
|
||||
raise DocumentAlreadyCheckedOut
|
||||
return document
|
||||
21
apps/checkouts/links.py
Normal file
21
apps/checkouts/links.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from documents.permissions import PERMISSION_DOCUMENT_VIEW
|
||||
|
||||
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE)
|
||||
|
||||
|
||||
def is_checked_out(context):
|
||||
return context['object'].is_checked_out()
|
||||
|
||||
|
||||
def is_not_checked_out(context):
|
||||
return not context['object'].is_checked_out()
|
||||
|
||||
|
||||
checkout_list = {'text': _(u'checkouts'), 'view': 'checkout_list', 'famfam': 'basket'}
|
||||
checkout_document = {'text': _('check out document'), 'view': 'checkout_document', 'args': 'object.pk', 'famfam': 'basket_put', 'condition': is_not_checked_out, 'permissions': [PERMISSION_DOCUMENT_CHECKOUT]}
|
||||
checkin_document = {'text': _('check in document'), 'view': 'checkin_document', 'args': 'object.pk', 'famfam': 'basket_remove', 'condition': is_checked_out, 'permissions': [PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE]}
|
||||
checkout_info = {'text': _('check in/out'), 'view': 'checkout_info', 'args': 'object.pk', 'famfam': 'basket', 'children_views': ['checkout_document', 'checkin_document'], 'permissions': [PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, PERMISSION_DOCUMENT_CHECKOUT]}
|
||||
16
apps/checkouts/literals.py
Normal file
16
apps/checkouts/literals.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
STATE_CHECKED_OUT = 'checkedout'
|
||||
STATE_CHECKED_IN = 'checkedin'
|
||||
|
||||
STATE_ICONS = {
|
||||
STATE_CHECKED_OUT: 'basket_put.png',
|
||||
STATE_CHECKED_IN: 'traffic_lights_green.png',
|
||||
}
|
||||
|
||||
STATE_LABELS = {
|
||||
STATE_CHECKED_OUT: _(u'checked out'),
|
||||
STATE_CHECKED_IN: _(u'checked in/available'),
|
||||
}
|
||||
101
apps/checkouts/managers.py
Normal file
101
apps/checkouts/managers.py
Normal file
@@ -0,0 +1,101 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import datetime
|
||||
import logging
|
||||
|
||||
from django.db import models
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
||||
from documents.models import Document
|
||||
from history.api import create_history
|
||||
from permissions.models import Permission
|
||||
from acls.models import AccessEntry
|
||||
|
||||
from .exceptions import DocumentNotCheckedOut
|
||||
from .literals import STATE_CHECKED_OUT, STATE_CHECKED_IN
|
||||
from .events import (HISTORY_DOCUMENT_CHECKED_IN, HISTORY_DOCUMENT_AUTO_CHECKED_IN,
|
||||
HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
|
||||
from .permissions import PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE
|
||||
|
||||
from history.api import create_history
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class DocumentCheckoutManager(models.Manager):
|
||||
def checked_out_documents(self):
|
||||
return Document.objects.filter(pk__in=self.model.objects.all().values_list('document__pk', flat=True))
|
||||
|
||||
def expired_check_outs(self):
|
||||
expired_list = Document.objects.filter(pk__in=self.model.objects.filter(expiration_datetime__lte=datetime.datetime.now()).values_list('document__pk', flat=True))
|
||||
logger.debug('expired_list: %s' % expired_list)
|
||||
return expired_list
|
||||
|
||||
def check_in_expired_check_outs(self):
|
||||
for document in self.expired_check_outs():
|
||||
document.check_in()
|
||||
|
||||
def is_document_checked_out(self, document):
|
||||
if self.model.objects.filter(document=document):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def check_in_document(self, document, user=None):
|
||||
try:
|
||||
document_checkout = self.model.objects.get(document=document)
|
||||
except self.model.DoesNotExist:
|
||||
raise DocumentNotCheckedOut
|
||||
else:
|
||||
if user:
|
||||
if self.document_checkout_info(document).user_object != user:
|
||||
create_history(HISTORY_DOCUMENT_FORCEFUL_CHECK_IN, source_object=document, data={'user': user, 'document': document})
|
||||
else:
|
||||
create_history(HISTORY_DOCUMENT_CHECKED_IN, source_object=document, data={'user': user, 'document': document})
|
||||
else:
|
||||
create_history(HISTORY_DOCUMENT_AUTO_CHECKED_IN, source_object=document, data={'document': document})
|
||||
|
||||
document_checkout.delete()
|
||||
|
||||
def document_checkout_info(self, document):
|
||||
try:
|
||||
return self.model.objects.get(document=document)
|
||||
except self.model.DoesNotExist:
|
||||
raise DocumentNotCheckedOut
|
||||
|
||||
def document_checkout_state(self, document):
|
||||
if self.is_document_checked_out(document):
|
||||
return STATE_CHECKED_OUT
|
||||
else:
|
||||
return STATE_CHECKED_IN
|
||||
|
||||
def is_document_new_versions_allowed(self, document, user=None):
|
||||
try:
|
||||
checkout_info = self.document_checkout_info(document)
|
||||
except DocumentNotCheckedOut:
|
||||
return True
|
||||
else:
|
||||
if not user:
|
||||
return not checkout_info.block_new_version
|
||||
else:
|
||||
if user.is_staff or user.is_superuser:
|
||||
# Allow anything to superusers and staff
|
||||
return True
|
||||
|
||||
if user == checkout_info.user_object:
|
||||
# Allow anything to the user who checked out this document
|
||||
True
|
||||
else:
|
||||
# If not original user check to see if user has global or this document's PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE permission
|
||||
try:
|
||||
Permission.objects.check_permissions(user, [PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE])
|
||||
except PermissionDenied:
|
||||
try:
|
||||
AccessEntry.objects.check_accesses([PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE], user, document)
|
||||
except PermissionDenied:
|
||||
# Last resort check if original user enabled restriction
|
||||
return not checkout_info.block_new_version
|
||||
else:
|
||||
return True
|
||||
else:
|
||||
return True
|
||||
|
||||
122
apps/checkouts/migrations/0001_initial.py
Normal file
122
apps/checkouts/migrations/0001_initial.py
Normal file
@@ -0,0 +1,122 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Adding model 'DocumentCheckout'
|
||||
db.create_table('checkouts_documentcheckout', (
|
||||
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
||||
('document', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['documents.Document'], unique=True)),
|
||||
('checkout_datetime', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 6, 13, 0, 0))),
|
||||
('expiration_datetime', self.gf('django.db.models.fields.DateTimeField')()),
|
||||
('block_new_version', self.gf('django.db.models.fields.BooleanField')(default=False)),
|
||||
))
|
||||
db.send_create_signal('checkouts', ['DocumentCheckout'])
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Deleting model 'DocumentCheckout'
|
||||
db.delete_table('checkouts_documentcheckout')
|
||||
|
||||
|
||||
models = {
|
||||
'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
'auth.permission': {
|
||||
'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'auth.user': {
|
||||
'Meta': {'object_name': 'User'},
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
||||
},
|
||||
'checkouts.documentcheckout': {
|
||||
'Meta': {'object_name': 'DocumentCheckout'},
|
||||
'block_new_version': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'checkout_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 6, 13, 0, 0)'}),
|
||||
'document': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['documents.Document']", 'unique': 'True'}),
|
||||
'expiration_datetime': ('django.db.models.fields.DateTimeField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
|
||||
},
|
||||
'comments.comment': {
|
||||
'Meta': {'ordering': "('submit_date',)", 'object_name': 'Comment', 'db_table': "'django_comments'"},
|
||||
'comment': ('django.db.models.fields.TextField', [], {'max_length': '3000'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'content_type_set_for_comment'", 'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'ip_address': ('django.db.models.fields.IPAddressField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}),
|
||||
'is_public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_removed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'object_pk': ('django.db.models.fields.TextField', [], {}),
|
||||
'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}),
|
||||
'submit_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'comment_comments'", 'null': 'True', 'to': "orm['auth.User']"}),
|
||||
'user_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||
'user_name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
|
||||
'user_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'})
|
||||
},
|
||||
'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
'documents.document': {
|
||||
'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'},
|
||||
'date_added': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'document_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['documents.DocumentType']", 'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'uuid': ('django.db.models.fields.CharField', [], {'max_length': '48', 'blank': 'True'})
|
||||
},
|
||||
'documents.documenttype': {
|
||||
'Meta': {'ordering': "['name']", 'object_name': 'DocumentType'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
|
||||
},
|
||||
'sites.site': {
|
||||
'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
|
||||
'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'taggit.tag': {
|
||||
'Meta': {'object_name': 'Tag'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '100'})
|
||||
},
|
||||
'taggit.taggeditem': {
|
||||
'Meta': {'object_name': 'TaggedItem'},
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_tagged_items'", 'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'object_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}),
|
||||
'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_items'", 'to': "orm['taggit.Tag']"})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['checkouts']
|
||||
@@ -0,0 +1,133 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Adding field 'DocumentCheckout.user_content_type'
|
||||
db.add_column('checkouts_documentcheckout', 'user_content_type',
|
||||
self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'], null=True, blank=True),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'DocumentCheckout.user_object_id'
|
||||
db.add_column('checkouts_documentcheckout', 'user_object_id',
|
||||
self.gf('django.db.models.fields.PositiveIntegerField')(null=True, blank=True),
|
||||
keep_default=False)
|
||||
|
||||
|
||||
# Changing field 'DocumentCheckout.checkout_datetime'
|
||||
db.alter_column('checkouts_documentcheckout', 'checkout_datetime', self.gf('django.db.models.fields.DateTimeField')(null=True))
|
||||
|
||||
def backwards(self, orm):
|
||||
# Deleting field 'DocumentCheckout.user_content_type'
|
||||
db.delete_column('checkouts_documentcheckout', 'user_content_type_id')
|
||||
|
||||
# Deleting field 'DocumentCheckout.user_object_id'
|
||||
db.delete_column('checkouts_documentcheckout', 'user_object_id')
|
||||
|
||||
|
||||
# Changing field 'DocumentCheckout.checkout_datetime'
|
||||
db.alter_column('checkouts_documentcheckout', 'checkout_datetime', self.gf('django.db.models.fields.DateTimeField')())
|
||||
|
||||
models = {
|
||||
'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
'auth.permission': {
|
||||
'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'auth.user': {
|
||||
'Meta': {'object_name': 'User'},
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
||||
},
|
||||
'checkouts.documentcheckout': {
|
||||
'Meta': {'object_name': 'DocumentCheckout'},
|
||||
'block_new_version': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'checkout_datetime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'document': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['documents.Document']", 'unique': 'True'}),
|
||||
'expiration_datetime': ('django.db.models.fields.DateTimeField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'user_content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}),
|
||||
'user_object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'comments.comment': {
|
||||
'Meta': {'ordering': "('submit_date',)", 'object_name': 'Comment', 'db_table': "'django_comments'"},
|
||||
'comment': ('django.db.models.fields.TextField', [], {'max_length': '3000'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'content_type_set_for_comment'", 'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'ip_address': ('django.db.models.fields.IPAddressField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}),
|
||||
'is_public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_removed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'object_pk': ('django.db.models.fields.TextField', [], {}),
|
||||
'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}),
|
||||
'submit_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'comment_comments'", 'null': 'True', 'to': "orm['auth.User']"}),
|
||||
'user_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||
'user_name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
|
||||
'user_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'})
|
||||
},
|
||||
'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
'documents.document': {
|
||||
'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'},
|
||||
'date_added': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'document_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['documents.DocumentType']", 'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'uuid': ('django.db.models.fields.CharField', [], {'max_length': '48', 'blank': 'True'})
|
||||
},
|
||||
'documents.documenttype': {
|
||||
'Meta': {'ordering': "['name']", 'object_name': 'DocumentType'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
|
||||
},
|
||||
'sites.site': {
|
||||
'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
|
||||
'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'taggit.tag': {
|
||||
'Meta': {'object_name': 'Tag'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '100'})
|
||||
},
|
||||
'taggit.taggeditem': {
|
||||
'Meta': {'object_name': 'TaggedItem'},
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_tagged_items'", 'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'object_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}),
|
||||
'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_items'", 'to': "orm['taggit.Tag']"})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['checkouts']
|
||||
0
apps/checkouts/migrations/__init__.py
Normal file
0
apps/checkouts/migrations/__init__.py
Normal file
56
apps/checkouts/models.py
Normal file
56
apps/checkouts/models.py
Normal file
@@ -0,0 +1,56 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import logging
|
||||
import datetime
|
||||
|
||||
from django.db import models, IntegrityError
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib.contenttypes import generic
|
||||
|
||||
from documents.models import Document
|
||||
from history.api import create_history
|
||||
|
||||
from .managers import DocumentCheckoutManager
|
||||
from .exceptions import DocumentAlreadyCheckedOut
|
||||
from .events import HISTORY_DOCUMENT_CHECKED_OUT
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class DocumentCheckout(models.Model):
|
||||
"""
|
||||
Model to store the state and information of a document checkout
|
||||
"""
|
||||
document = models.ForeignKey(Document, verbose_name=_(u'document'), unique=True)
|
||||
checkout_datetime = models.DateTimeField(verbose_name=_(u'check out date and time'), blank=True, null=True)
|
||||
expiration_datetime = models.DateTimeField(verbose_name=_(u'check out expiration date and time'), help_text=_(u'Amount of time to hold the document checked out in minutes.'))
|
||||
user_content_type = models.ForeignKey(ContentType, null=True, blank=True) # blank and null added for ease of db migration
|
||||
user_object_id = models.PositiveIntegerField(null=True, blank=True)
|
||||
user_object = generic.GenericForeignKey(ct_field='user_content_type', fk_field='user_object_id')
|
||||
|
||||
block_new_version = models.BooleanField(default=True, verbose_name=_(u'block new version upload'), help_text=_(u'Do not allow new version of this document to be uploaded.'))
|
||||
|
||||
#block_metadata
|
||||
#block_editing
|
||||
#block tag add/remove
|
||||
|
||||
objects = DocumentCheckoutManager()
|
||||
|
||||
def __unicode__(self):
|
||||
return unicode(self.document)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.pk:
|
||||
self.checkout_datetime = datetime.datetime.now()
|
||||
result = super(DocumentCheckout, self).save(*args, **kwargs)
|
||||
create_history(HISTORY_DOCUMENT_CHECKED_OUT, source_object=self.document, data={'user': self.user_object, 'document': self.document})
|
||||
return result
|
||||
|
||||
@models.permalink
|
||||
def get_absolute_url(self):
|
||||
return ('checkout_info', [self.document.pk])
|
||||
|
||||
class Meta:
|
||||
verbose_name = _(u'document checkout')
|
||||
verbose_name_plural = _(u'document checkouts')
|
||||
13
apps/checkouts/permissions.py
Normal file
13
apps/checkouts/permissions.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from permissions.models import PermissionNamespace, Permission
|
||||
|
||||
namespace = PermissionNamespace('checkouts', _(u'Document checkout'))
|
||||
|
||||
PERMISSION_DOCUMENT_CHECKOUT = Permission.objects.register(namespace, 'checkout_document', _(u'Check out documents'))
|
||||
PERMISSION_DOCUMENT_CHECKIN = Permission.objects.register(namespace, 'checkin_document', _(u'Check in documents'))
|
||||
PERMISSION_DOCUMENT_CHECKIN_OVERRIDE = Permission.objects.register(namespace, 'checkin_document_override', _(u'Forcefully check in documents'))
|
||||
PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE = Permission.objects.register(namespace, 'checkout_restrictions_override', _(u'Allow overriding check out restrictions'))
|
||||
|
||||
BIN
apps/checkouts/static/images/icons/basket_put.png
Normal file
BIN
apps/checkouts/static/images/icons/basket_put.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
BIN
apps/checkouts/static/images/icons/basket_remove.png
Normal file
BIN
apps/checkouts/static/images/icons/basket_remove.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
BIN
apps/checkouts/static/images/icons/traffic_lights_green.png
Normal file
BIN
apps/checkouts/static/images/icons/traffic_lights_green.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
24
apps/checkouts/tasks.py
Normal file
24
apps/checkouts/tasks.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import logging
|
||||
|
||||
from lock_manager import Lock, LockError
|
||||
|
||||
from .models import DocumentCheckout
|
||||
|
||||
LOCK_EXPIRE = 50
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def task_check_expired_check_outs():
|
||||
logger.debug('executing...')
|
||||
lock_id = u'task_expired_check_outs'
|
||||
try:
|
||||
logger.debug('trying to acquire lock: %s' % lock_id)
|
||||
lock = Lock.acquire_lock(lock_id, LOCK_EXPIRE)
|
||||
logger.debug('acquired lock: %s' % lock_id)
|
||||
DocumentCheckout.objects.check_in_expired_check_outs()
|
||||
lock.release()
|
||||
except LockError:
|
||||
logger.debug('unable to obtain lock')
|
||||
pass
|
||||
8
apps/checkouts/urls.py
Normal file
8
apps/checkouts/urls.py
Normal file
@@ -0,0 +1,8 @@
|
||||
from django.conf.urls.defaults import patterns, url
|
||||
|
||||
urlpatterns = patterns('checkouts.views',
|
||||
url(r'^list/$', 'checkout_list', (), 'checkout_list'),
|
||||
url(r'^(?P<document_pk>\d+)/check/out/$', 'checkout_document', (), 'checkout_document'),
|
||||
url(r'^(?P<document_pk>\d+)/check/in/$', 'checkin_document', (), 'checkin_document'),
|
||||
url(r'^(?P<document_pk>\d+)/check/info/$', 'checkout_info', (), 'checkout_info'),
|
||||
)
|
||||
147
apps/checkouts/views.py
Normal file
147
apps/checkouts/views.py
Normal file
@@ -0,0 +1,147 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.shortcuts import render_to_response, get_object_or_404
|
||||
from django.template import RequestContext
|
||||
from django.contrib import messages
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
||||
from documents.views import document_list
|
||||
from documents.models import Document
|
||||
|
||||
from permissions.models import Permission
|
||||
from acls.models import AccessEntry
|
||||
from common.utils import get_object_name
|
||||
from common.utils import encapsulate
|
||||
|
||||
from .models import DocumentCheckout
|
||||
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN,
|
||||
PERMISSION_DOCUMENT_CHECKIN_OVERRIDE)
|
||||
from .forms import DocumentCheckoutForm
|
||||
from .exceptions import DocumentAlreadyCheckedOut, DocumentNotCheckedOut
|
||||
from .literals import STATE_CHECKED_OUT, STATE_CHECKED_IN, STATE_ICONS, STATE_LABELS
|
||||
from .widgets import checkout_widget
|
||||
|
||||
|
||||
def checkout_list(request):
|
||||
|
||||
return document_list(
|
||||
request,
|
||||
object_list=DocumentCheckout.objects.checked_out_documents(),
|
||||
title=_(u'checked out documents'),
|
||||
extra_context={
|
||||
'extra_columns': [
|
||||
{'name': _(u'checkout user'), 'attribute': encapsulate(lambda document: get_object_name(document.checkout_info().user_object, display_object_type=False))},
|
||||
{'name': _(u'checkout time and date'), 'attribute': encapsulate(lambda document: document.checkout_info().checkout_datetime)},
|
||||
{'name': _(u'checkout expiration'), 'attribute': encapsulate(lambda document: document.checkout_info().expiration_datetime)},
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def checkout_info(request, document_pk):
|
||||
document = get_object_or_404(Document, pk=document_pk)
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN])
|
||||
except PermissionDenied:
|
||||
AccessEntry.objects.check_accesses([PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN], request.user, document)
|
||||
|
||||
paragraphs = [checkout_widget(document)]
|
||||
|
||||
if document.is_checked_out():
|
||||
checkout_info = document.checkout_info()
|
||||
paragraphs.append(_(u'User: %s') % get_object_name(checkout_info.user_object, display_object_type=False))
|
||||
paragraphs.append(_(u'Check out time: %s') % checkout_info.checkout_datetime)
|
||||
paragraphs.append(_(u'Check out expiration: %s') % checkout_info.expiration_datetime)
|
||||
paragraphs.append(_(u'New versions allowed: %s') % (_(u'yes') if not checkout_info.block_new_version else _(u'no')))
|
||||
|
||||
return render_to_response('generic_template.html', {
|
||||
'paragraphs': paragraphs,
|
||||
'object': document,
|
||||
'title': _(u'Check out details for document: %s') % document
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def checkout_document(request, document_pk):
|
||||
document = get_object_or_404(Document, pk=document_pk)
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CHECKOUT])
|
||||
except PermissionDenied:
|
||||
AccessEntry.objects.check_access(PERMISSION_DOCUMENT_CHECKOUT, request.user, document)
|
||||
|
||||
if request.method == 'POST':
|
||||
form = DocumentCheckoutForm(data=request.POST, initial={'document': document})
|
||||
try:
|
||||
if form.is_valid():
|
||||
try:
|
||||
document_checkout = form.save(commit=False)
|
||||
document_checkout.user_object = request.user
|
||||
document_checkout.save()
|
||||
except Exception, exc:
|
||||
messages.error(request, _(u'Error trying to check out document; %s') % exc)
|
||||
else:
|
||||
messages.success(request, _(u'Document "%s" checked out successfully.') % document)
|
||||
return HttpResponseRedirect(reverse('checkout_info', args=[document.pk]))
|
||||
except DocumentAlreadyCheckedOut:
|
||||
messages.error(request, _(u'Document already checked out.'))
|
||||
return HttpResponseRedirect(reverse('checkout_info', args=[document.pk]))
|
||||
else:
|
||||
form = DocumentCheckoutForm(initial={'document': document})
|
||||
|
||||
return render_to_response('generic_form.html', {
|
||||
'form': form,
|
||||
'object': document,
|
||||
'title': _(u'Check out document: %s') % document
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def checkin_document(request, document_pk):
|
||||
document = get_object_or_404(Document, pk=document_pk)
|
||||
post_action_redirect = reverse('checkout_info', args=[document.pk])
|
||||
|
||||
# If the user trying to check in the document is the same as the check out
|
||||
# user just check for the normal permission otherwise check for the forceful
|
||||
# checkin permission
|
||||
if document.checkout_info().user_object == request.user:
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CHECKIN])
|
||||
except PermissionDenied:
|
||||
AccessEntry.objects.check_access(PERMISSION_DOCUMENT_CHECKIN, request.user, document)
|
||||
else:
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CHECKIN_OVERRIDE])
|
||||
except PermissionDenied:
|
||||
AccessEntry.objects.check_access(PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, request.user, document)
|
||||
|
||||
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/')))
|
||||
next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/')))
|
||||
|
||||
if request.method == 'POST':
|
||||
try:
|
||||
document.check_in(user=request.user)
|
||||
except DocumentNotCheckedOut:
|
||||
messages.error(request, _(u'Document has not been checked out.'))
|
||||
except Exception, exc:
|
||||
messages.error(request, _(u'Error trying to check in document; %s') % exc)
|
||||
else:
|
||||
messages.success(request, _(u'Document "%s" checked in successfully.') % document)
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
context = {
|
||||
'object_name': _(u'document'),
|
||||
'delete_view': False,
|
||||
'previous': previous,
|
||||
'next': next,
|
||||
'form_icon': u'basket_remove.png',
|
||||
'object': document,
|
||||
}
|
||||
|
||||
if document.checkout_info().user_object != request.user:
|
||||
context['title'] = _(u'You didn\'t originally checked out this document. Are you sure you wish to forcefully check in document: %s?') % document
|
||||
else:
|
||||
context['title'] = _(u'Are you sure you wish to check in document: %s?') % document
|
||||
|
||||
return render_to_response('generic_confirm.html', context,
|
||||
context_instance=RequestContext(request))
|
||||
107
apps/checkouts/widgets.py
Normal file
107
apps/checkouts/widgets.py
Normal file
@@ -0,0 +1,107 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import datetime
|
||||
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.conf import settings
|
||||
from django.core import validators
|
||||
|
||||
from .literals import STATE_CHECKED_OUT, STATE_CHECKED_IN, STATE_ICONS, STATE_LABELS
|
||||
|
||||
|
||||
def checkout_widget(document):
|
||||
checkout_state = document.checkout_state()
|
||||
|
||||
widget = (u'<img style="vertical-align: middle;" src="%simages/icons/%s" />' % (settings.STATIC_URL, STATE_ICONS[checkout_state]))
|
||||
return _(u'Document status: %(widget)s %(text)s') % {
|
||||
'widget': mark_safe(widget),
|
||||
'text': STATE_LABELS[checkout_state]
|
||||
}
|
||||
|
||||
|
||||
class SplitDeltaWidget(forms.widgets.MultiWidget):
|
||||
"""
|
||||
A Widget that splits a timedelta input into three <input type="text"> boxes.
|
||||
"""
|
||||
def __init__(self, attrs=None):
|
||||
widgets = (
|
||||
forms.widgets.TextInput(attrs={'maxlength': 3, 'style':'width: 5em;', 'placeholder': _(u'Days')}),
|
||||
forms.widgets.TextInput(attrs={'maxlength': 4, 'style':'width: 5em;', 'placeholder': _(u'Hours')}),
|
||||
forms.widgets.TextInput(attrs={'maxlength': 5, 'style':'width: 5em;', 'placeholder': _(u'Minutes')}),
|
||||
)
|
||||
super(SplitDeltaWidget, self).__init__(widgets, attrs)
|
||||
|
||||
def decompress(self, value):
|
||||
if value:
|
||||
return [value.days, value.seconds / 3600, (value.seconds / 60) % 60]
|
||||
return [None, None, None]
|
||||
|
||||
def value_from_datadict(self, data, files, name):
|
||||
return [data.get('expiration_datetime_0', 0) or 0, data.get('expiration_datetime_1', 0) or 0, data.get('expiration_datetime_2', 0) or 0]
|
||||
|
||||
|
||||
class SplitHiddenDeltaWidget(forms.widgets.SplitDateTimeWidget):
|
||||
"""
|
||||
A Widget that splits a timedelta input into three <input type="hidden"> inputs.
|
||||
"""
|
||||
is_hidden = True
|
||||
|
||||
def __init__(self, attrs=None):
|
||||
super(SplitHiddenDeltaWidget, self).__init__(attrs, date_format, time_format)
|
||||
for widget in self.widgets:
|
||||
widget.input_type = 'hidden'
|
||||
widget.is_hidden = True
|
||||
|
||||
|
||||
class SplitTimeDeltaField(forms.MultiValueField):
|
||||
widget = SplitDeltaWidget
|
||||
hidden_widget = SplitHiddenDeltaWidget
|
||||
default_error_messages = {
|
||||
'invalid_days': _(u'Enter a valid number of days.'),
|
||||
'invalid_hours': _(u'Enter a valid number of hours.'),
|
||||
'invalid_minutes': _(u'Enter a valid number of minutes.'),
|
||||
'invalid_timedelta': _(u'Enter a valid time difference.'),
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
errors = self.default_error_messages.copy()
|
||||
if 'error_messages' in kwargs:
|
||||
errors.update(kwargs['error_messages'])
|
||||
localize = kwargs.get('localize', False)
|
||||
fields = (
|
||||
forms.IntegerField(min_value=0,
|
||||
error_messages={'invalid': errors['invalid_days']},
|
||||
localize=localize
|
||||
),
|
||||
forms.IntegerField(min_value=0,
|
||||
error_messages={'invalid': errors['invalid_hours']},
|
||||
localize=localize
|
||||
),
|
||||
forms.IntegerField(min_value=0,
|
||||
error_messages={'invalid': errors['invalid_minutes']},
|
||||
localize=localize
|
||||
),
|
||||
)
|
||||
super(SplitTimeDeltaField, self).__init__(fields, *args, **kwargs)
|
||||
self.help_text = _(u'Amount of time to hold the document in the checked out state in days, hours and/or minutes.')
|
||||
self.label = _('Check out expiration date and time')
|
||||
|
||||
def compress(self, data_list):
|
||||
if data_list == [0, 0, 0]:
|
||||
raise forms.ValidationError(self.error_messages['invalid_timedelta'])
|
||||
|
||||
if data_list:
|
||||
# Raise a validation error if time or date is empty
|
||||
# (possible if SplitDateTimeField has required=False).
|
||||
if data_list[0] in validators.EMPTY_VALUES:
|
||||
raise forms.ValidationError(self.error_messages['invalid_days'])
|
||||
if data_list[1] in validators.EMPTY_VALUES:
|
||||
raise forms.ValidationError(self.error_messages['invalid_hours'])
|
||||
if data_list[2] in validators.EMPTY_VALUES:
|
||||
raise forms.ValidationError(self.error_messages['invalid_minutes'])
|
||||
|
||||
timedelta = datetime.timedelta(days=data_list[0], hours=data_list[1], minutes=data_list[2])
|
||||
return datetime.datetime.now() + timedelta
|
||||
return None
|
||||
@@ -2,12 +2,15 @@ from __future__ import absolute_import
|
||||
|
||||
import tempfile
|
||||
|
||||
from south.signals import post_migrate
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.contrib.auth import models as auth_models
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.auth.management import create_superuser
|
||||
from django.dispatch import receiver
|
||||
from django.db.models.signals import post_syncdb
|
||||
from django.conf import settings
|
||||
from django.db.models.signals import post_save
|
||||
|
||||
from navigation.api import bind_links, register_top_menu, Link
|
||||
from project_setup.api import register_setup
|
||||
@@ -19,6 +22,7 @@ from .conf import settings as common_settings
|
||||
from .utils import validate_path
|
||||
from .links import (password_change_view, current_user_details,
|
||||
current_user_edit, about_view, license_view, admin_site, sentry)
|
||||
from .models import AutoAdminSingleton
|
||||
|
||||
bind_links(['about_view', 'license_view'], [about_view, license_view], menu_name='secondary_menu')
|
||||
bind_links(['current_user_details', 'current_user_edit', 'password_change_view'], [current_user_details, current_user_edit, password_change_view], menu_name='secondary_menu')
|
||||
@@ -26,8 +30,8 @@ bind_links(['current_user_details', 'current_user_edit', 'password_change_view']
|
||||
register_top_menu('about', link=Link(text=_(u'about'), view='about_view', sprite='information'), position=-1)
|
||||
|
||||
|
||||
@receiver(post_syncdb, dispatch_uid='create_superuser_processor', sender=auth_models)
|
||||
def create_superuser_processor(sender, **kwargs):
|
||||
@receiver(post_migrate, dispatch_uid='create_superuser')
|
||||
def create_superuser(sender, **kwargs):
|
||||
"""
|
||||
From https://github.com/lambdalisue/django-qwert/blob/master/qwert/autoscript/__init__.py
|
||||
From http://stackoverflow.com/questions/1466827/ --
|
||||
@@ -39,17 +43,33 @@ def create_superuser_processor(sender, **kwargs):
|
||||
Create our own admin super user automatically.
|
||||
"""
|
||||
|
||||
if AUTO_CREATE_ADMIN:
|
||||
if AUTO_CREATE_ADMIN and kwargs['app'] == 'common':
|
||||
try:
|
||||
auth_models.User.objects.get(username=AUTO_ADMIN_USERNAME)
|
||||
except auth_models.User.DoesNotExist:
|
||||
print '*' * 80
|
||||
print 'Creating super admin user -- login: %s, password: %s' % (AUTO_ADMIN_USERNAME, AUTO_ADMIN_PASSWORD)
|
||||
print '*' * 80
|
||||
assert auth_models.User.objects.create_superuser(AUTO_ADMIN_USERNAME, 'x@x.com', AUTO_ADMIN_PASSWORD)
|
||||
assert auth_models.User.objects.create_superuser(AUTO_ADMIN_USERNAME, 'autoadmin@autoadmin.com', AUTO_ADMIN_PASSWORD)
|
||||
admin = auth_models.User.objects.get(username=AUTO_ADMIN_USERNAME)
|
||||
# Store the auto admin password properties to display the first login message
|
||||
auto_admin_properties = AutoAdminSingleton.objects.get()
|
||||
auto_admin_properties.account = admin
|
||||
auto_admin_properties.password = AUTO_ADMIN_PASSWORD
|
||||
auto_admin_properties.password_hash = admin.password
|
||||
auto_admin_properties.save()
|
||||
else:
|
||||
print 'Super admin user already exists. -- login: %s' % AUTO_ADMIN_USERNAME
|
||||
|
||||
|
||||
@receiver(post_save, dispatch_uid='auto_admin_account_passwd_change', sender=User)
|
||||
def auto_admin_account_passwd_change(sender, instance, **kwargs):
|
||||
auto_admin_properties = AutoAdminSingleton.objects.get()
|
||||
if instance == auto_admin_properties.account and instance.password != auto_admin_properties.password_hash:
|
||||
# Only delete the auto admin properties when the password has been changed
|
||||
auto_admin_properties.delete(force=True)
|
||||
|
||||
|
||||
if (validate_path(TEMPORARY_DIRECTORY) == False) or (not TEMPORARY_DIRECTORY):
|
||||
setattr(common_settings, 'TEMPORARY_DIRECTORY', tempfile.mkdtemp())
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"""Configuration options for the common app"""
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from smart_settings.api import Setting, SettingNamespace
|
||||
|
||||
@@ -49,7 +50,7 @@ Setting(
|
||||
namespace=namespace,
|
||||
name=u'AUTO_ADMIN_PASSWORD',
|
||||
global_name=u'COMMON_AUTO_ADMIN_PASSWORD',
|
||||
default=u'admin',
|
||||
default=User.objects.make_random_password(),
|
||||
)
|
||||
|
||||
Setting(
|
||||
|
||||
BIN
apps/common/locale/de_DE/LC_MESSAGES/django.mo
Normal file
BIN
apps/common/locale/de_DE/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
335
apps/common/locale/de_DE/LC_MESSAGES/django.po
Normal file
335
apps/common/locale/de_DE/LC_MESSAGES/django.po
Normal file
@@ -0,0 +1,335 @@
|
||||
# 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: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2011-09-30 04:55+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:22
|
||||
msgid "change password"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:23
|
||||
msgid "user details"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:24
|
||||
msgid "edit details"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:28 __init__.py:33
|
||||
msgid "about"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:29
|
||||
msgid "license"
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:101
|
||||
msgid "Selection"
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:133
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:144
|
||||
msgid ""
|
||||
"Please enter a correct email and password. Note that the password fields is "
|
||||
"case-sensitive."
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:146
|
||||
msgid "This account is inactive."
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:24
|
||||
msgid "A5"
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:25
|
||||
msgid "A4"
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:26
|
||||
msgid "A3"
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:27
|
||||
msgid "B5"
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:28
|
||||
msgid "B4"
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:29
|
||||
msgid "Letter"
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:30
|
||||
msgid "Legal"
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:31
|
||||
msgid "Ledger"
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:38
|
||||
msgid "Portrait"
|
||||
msgstr ""
|
||||
|
||||
#: literals.py:39
|
||||
msgid "Landscape"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:16
|
||||
msgid "lock field"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:43
|
||||
msgid "Anonymous user"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:46 models.py:47
|
||||
msgid "anonymous user"
|
||||
msgstr ""
|
||||
|
||||
#: utils.py:295
|
||||
msgid "function found"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:36
|
||||
msgid "No action selected."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:40
|
||||
msgid "Must select at least one item."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:88
|
||||
#, python-format
|
||||
msgid "%(selection)s added successfully added to %(right_list_title)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:94 views.py:121
|
||||
#, python-format
|
||||
msgid "Unable to add %(selection)s to %(right_list_title)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:115
|
||||
#, python-format
|
||||
msgid "%(selection)s added successfully removed from %(right_list_title)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:136
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:147
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:170
|
||||
msgid "current user details"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:187
|
||||
msgid "E-mail conflict, another user has that same email."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:190
|
||||
msgid "Current user's details updated."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:199
|
||||
msgid "edit current user details"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:230
|
||||
msgid "License"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:239
|
||||
msgid "Current user password change"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:254 templates/password_change_done.html:5
|
||||
msgid "Your password has been successfully changed."
|
||||
msgstr ""
|
||||
|
||||
#: widgets.py:58
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: conf/settings.py:15
|
||||
msgid ""
|
||||
"Temporary directory used site wide to store thumbnails, previews and "
|
||||
"temporary files. If none is specified, one will be created using "
|
||||
"tempfile.mkdtemp()"
|
||||
msgstr ""
|
||||
|
||||
#: conf/settings.py:65
|
||||
msgid ""
|
||||
"Controls the mechanism used to authenticated user. Options are: username, "
|
||||
"email"
|
||||
msgstr ""
|
||||
|
||||
#: conf/settings.py:74
|
||||
msgid "Allow non authenticated users, access to all views"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:3 templates/403.html.py:7
|
||||
msgid "Insufficient permissions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:9
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr ""
|
||||
|
||||
#: templates/404.html:3 templates/404.html.py:7
|
||||
msgid "Page not found"
|
||||
msgstr ""
|
||||
|
||||
#: templates/404.html:9
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr ""
|
||||
|
||||
#: templates/calculate_form_title.html:11
|
||||
#, python-format
|
||||
msgid "Details for %(object_name)s: %(object)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/calculate_form_title.html:13
|
||||
#, python-format
|
||||
msgid "Details for: %(object)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/calculate_form_title.html:18
|
||||
#, python-format
|
||||
msgid "Edit %(object_name)s:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/calculate_form_title.html:20
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: templates/calculate_form_title.html:24
|
||||
#, python-format
|
||||
msgid "Create new %(object_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/calculate_form_title.html:26
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_assign_remove.html:3
|
||||
#, python-format
|
||||
msgid "Assign %(title)s %(object)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_confirm.html:3 templates/generic_confirm.html.py:18
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_confirm.html:16
|
||||
msgid "Confirm delete"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_confirm.html:32
|
||||
msgid "form icon"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_confirm.html:40
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to delete %(object_name)s: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_confirm.html:42
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to delete: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_confirm.html:50
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_confirm.html:54
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_form_instance.html:37
|
||||
#: templates/generic_form_subtemplate.html:56
|
||||
msgid "required"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_form_subtemplate.html:80
|
||||
#: templates/generic_form_subtemplate.html:82
|
||||
#: templates/generic_list_horizontal_subtemplate.html:51
|
||||
#: templates/generic_list_horizontal_subtemplate.html:90
|
||||
#: templates/generic_list_subtemplate.html:52
|
||||
#: templates/generic_list_subtemplate.html:178
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_form_subtemplate.html:80
|
||||
#: templates/generic_form_subtemplate.html:82
|
||||
#: templates/generic_list_horizontal_subtemplate.html:51
|
||||
#: templates/generic_list_horizontal_subtemplate.html:90
|
||||
#: templates/generic_list_subtemplate.html:52
|
||||
#: templates/generic_list_subtemplate.html:178
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_form_subtemplate.html:87
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_list.html:6 templates/generic_list_horizontal.html:6
|
||||
#, python-format
|
||||
msgid "List of %(stripped_title)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_list_horizontal_subtemplate.html:23
|
||||
#: templates/generic_list_subtemplate.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"List of %(title)s (%(start)s - %(end)s out of %(total)s) (Page "
|
||||
"%(page_number)s of %(total_pages)s)"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_list_horizontal_subtemplate.html:25
|
||||
#: templates/generic_list_subtemplate.html:26
|
||||
#, python-format
|
||||
msgid "List of %(title)s (%(total)s)"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_list_subtemplate.html:72
|
||||
msgid "Identifier"
|
||||
msgstr ""
|
||||
|
||||
#: templates/generic_list_subtemplate.html:152
|
||||
#, python-format
|
||||
msgid "There are no %(stripped_title)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/login.html:5
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
|
||||
#: templates/password_change_done.html:3 templates/password_change_form.html:3
|
||||
#: templates/password_change_form.html:5
|
||||
msgid "Password change"
|
||||
msgstr ""
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 19:02-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,23 +17,23 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: __init__.py:20
|
||||
#: __init__.py:22
|
||||
msgid "change password"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:21
|
||||
#: __init__.py:23
|
||||
msgid "user details"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:22
|
||||
#: __init__.py:24
|
||||
msgid "edit details"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:26 __init__.py:31
|
||||
#: __init__.py:28 __init__.py:33
|
||||
msgid "about"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:27
|
||||
#: __init__.py:29
|
||||
msgid "license"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,41 +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:
|
||||
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2011, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:39+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/"
|
||||
"mayan-edms/team/es/)\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:20
|
||||
#: __init__.py:22
|
||||
msgid "change password"
|
||||
msgstr "cambiar contraseña"
|
||||
|
||||
#: __init__.py:21
|
||||
#: __init__.py:23
|
||||
msgid "user details"
|
||||
msgstr "detalles de usuario"
|
||||
|
||||
#: __init__.py:22
|
||||
#: __init__.py:24
|
||||
msgid "edit details"
|
||||
msgstr "editar detalles"
|
||||
|
||||
#: __init__.py:26 __init__.py:31
|
||||
#: __init__.py:28 __init__.py:33
|
||||
msgid "about"
|
||||
msgstr "sobre"
|
||||
|
||||
#: __init__.py:27
|
||||
#: __init__.py:29
|
||||
msgid "license"
|
||||
msgstr "licencia"
|
||||
|
||||
@@ -51,10 +50,7 @@ msgstr "E-mail"
|
||||
msgid ""
|
||||
"Please enter a correct email and password. Note that the password fields is "
|
||||
"case-sensitive."
|
||||
msgstr ""
|
||||
"Por favor entre la dirección de correo electrónico y la contraseña "
|
||||
"correctas. Tenga en cuenta que los campos de contraseña distingue entre "
|
||||
"mayúsculas y minúsculas."
|
||||
msgstr "Por favor entre la dirección de correo electrónico y la contraseña correctas. Tenga en cuenta que los campos de contraseña distingue entre mayúsculas y minúsculas."
|
||||
|
||||
#: forms.py:146
|
||||
msgid "This account is inactive."
|
||||
@@ -153,9 +149,7 @@ msgstr "detalles del usuario corriente"
|
||||
|
||||
#: views.py:187
|
||||
msgid "E-mail conflict, another user has that same email."
|
||||
msgstr ""
|
||||
"Conflicto de correo electrónica, otro usuario tiene ese mismo correo "
|
||||
"electrónico."
|
||||
msgstr "Conflicto de correo electrónica, otro usuario tiene ese mismo correo electrónico."
|
||||
|
||||
#: views.py:190
|
||||
msgid "Current user's details updated."
|
||||
@@ -184,25 +178,19 @@ msgstr "Ninguno"
|
||||
#: conf/settings.py:15
|
||||
msgid ""
|
||||
"Temporary directory used site wide to store thumbnails, previews and "
|
||||
"temporary files. If none is specified, one will be created using tempfile."
|
||||
"mkdtemp()"
|
||||
msgstr ""
|
||||
"Directorio temporal utilizado por todo el sitio para almacenar imágenes en "
|
||||
"miniatura, vistas previas y los archivos temporales. Si no se especifica "
|
||||
"ninguno, se creará utilizando tempfile.mkdtemp ()"
|
||||
"temporary files. If none is specified, one will be created using "
|
||||
"tempfile.mkdtemp()"
|
||||
msgstr "Directorio temporal utilizado por todo el sitio para almacenar imágenes en miniatura, vistas previas y los archivos temporales. Si no se especifica ninguno, se creará utilizando tempfile.mkdtemp ()"
|
||||
|
||||
#: conf/settings.py:65
|
||||
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"
|
||||
|
||||
#: conf/settings.py:74
|
||||
msgid "Allow non authenticated users, access to all views"
|
||||
msgstr ""
|
||||
"Permita a los usuarios no autenticados, el acceso a todas las pantallas"
|
||||
msgstr "Permita a los usuarios no autenticados, el acceso a todas las pantallas"
|
||||
|
||||
#: templates/403.html:3 templates/403.html.py:7
|
||||
msgid "Insufficient permissions"
|
||||
@@ -321,9 +309,7 @@ msgstr "Lista de %(stripped_title)s "
|
||||
msgid ""
|
||||
"List of %(title)s (%(start)s - %(end)s out of %(total)s) (Page "
|
||||
"%(page_number)s of %(total_pages)s)"
|
||||
msgstr ""
|
||||
"Lista de %(title)s (%(start)s - %(end)s de %(total)s) (Página "
|
||||
"%(page_number)s de %(total_pages)s)"
|
||||
msgstr "Lista de %(title)s (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de %(total_pages)s)"
|
||||
|
||||
#: templates/generic_list_horizontal_subtemplate.html:25
|
||||
#: templates/generic_list_subtemplate.html:26
|
||||
|
||||
Binary file not shown.
@@ -3,6 +3,7 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Carlo Zanatto <>, 2012.
|
||||
# <pierpaolo.baldan@gmail.com>, 2011.
|
||||
# Pierpaolo Baldan <pierpaolo.baldan@gmail.com>, 2012.
|
||||
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2012.
|
||||
@@ -10,9 +11,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"PO-Revision-Date: 2012-03-21 13:21+0000\n"
|
||||
"Last-Translator: Pierpaolo Baldan <pierpaolo.baldan@gmail.com>\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-06-08 07:46+0000\n"
|
||||
"Last-Translator: Carlo Zanatto <>\n"
|
||||
"Language-Team: Italian (http://www.transifex.net/projects/p/mayan-edms/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -20,23 +21,23 @@ msgstr ""
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: __init__.py:20
|
||||
#: __init__.py:22
|
||||
msgid "change password"
|
||||
msgstr "cambia password"
|
||||
|
||||
#: __init__.py:21
|
||||
#: __init__.py:23
|
||||
msgid "user details"
|
||||
msgstr "dettaglio utente"
|
||||
|
||||
#: __init__.py:22
|
||||
#: __init__.py:24
|
||||
msgid "edit details"
|
||||
msgstr "modifica dettagli"
|
||||
|
||||
#: __init__.py:26 __init__.py:31
|
||||
#: __init__.py:28 __init__.py:33
|
||||
msgid "about"
|
||||
msgstr "a rigurdo"
|
||||
msgstr "informazioni"
|
||||
|
||||
#: __init__.py:27
|
||||
#: __init__.py:29
|
||||
msgid "license"
|
||||
msgstr "licenza"
|
||||
|
||||
@@ -120,7 +121,7 @@ msgstr "Nessuna azione selezionata"
|
||||
|
||||
#: views.py:40
|
||||
msgid "Must select at least one item."
|
||||
msgstr "Devi selezionare un item"
|
||||
msgstr "Devi selezionare un elemento"
|
||||
|
||||
#: views.py:88
|
||||
#, python-format
|
||||
@@ -294,7 +295,7 @@ msgstr "Salva"
|
||||
#: templates/generic_list_subtemplate.html:52
|
||||
#: templates/generic_list_subtemplate.html:178
|
||||
msgid "Submit"
|
||||
msgstr "Sottometti"
|
||||
msgstr "Conferma"
|
||||
|
||||
#: templates/generic_form_subtemplate.html:87
|
||||
msgid "Cancel"
|
||||
|
||||
Binary file not shown.
@@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-21 15:17+0000\n"
|
||||
"Last-Translator: mic <winterfall24@gmail.com>\n"
|
||||
"Language-Team: Polish (http://www.transifex.net/projects/p/mayan-edms/language/pl/)\n"
|
||||
@@ -21,23 +21,23 @@ msgstr ""
|
||||
"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"
|
||||
|
||||
#: __init__.py:20
|
||||
#: __init__.py:22
|
||||
msgid "change password"
|
||||
msgstr "zmień hasło"
|
||||
|
||||
#: __init__.py:21
|
||||
#: __init__.py:23
|
||||
msgid "user details"
|
||||
msgstr "szczegóły konta użytkownika"
|
||||
|
||||
#: __init__.py:22
|
||||
#: __init__.py:24
|
||||
msgid "edit details"
|
||||
msgstr "edytuj szczegóły"
|
||||
|
||||
#: __init__.py:26 __init__.py:31
|
||||
#: __init__.py:28 __init__.py:33
|
||||
msgid "about"
|
||||
msgstr "informacje o"
|
||||
|
||||
#: __init__.py:27
|
||||
#: __init__.py:29
|
||||
msgid "license"
|
||||
msgstr "licencja"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-21 15:07+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.net/projects/p/mayan-edms/language/pt/)\n"
|
||||
@@ -19,23 +19,23 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: __init__.py:20
|
||||
#: __init__.py:22
|
||||
msgid "change password"
|
||||
msgstr "alterar a senha"
|
||||
|
||||
#: __init__.py:21
|
||||
#: __init__.py:23
|
||||
msgid "user details"
|
||||
msgstr "detalhes do usuário"
|
||||
|
||||
#: __init__.py:22
|
||||
#: __init__.py:24
|
||||
msgid "edit details"
|
||||
msgstr "editar detalhes"
|
||||
|
||||
#: __init__.py:26 __init__.py:31
|
||||
#: __init__.py:28 __init__.py:33
|
||||
msgid "about"
|
||||
msgstr "sobre"
|
||||
|
||||
#: __init__.py:27
|
||||
#: __init__.py:29
|
||||
msgid "license"
|
||||
msgstr "licença"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,42 +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:
|
||||
# Sergey Glita <gsv70@mail.ru>, 2011.
|
||||
# Sergey Glita <gsv70@mail.ru>, 2011, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:18+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.net/projects/p/mayan-edms/team/"
|
||||
"ru/)\n"
|
||||
"Language: ru\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-03 06:36+0000\n"
|
||||
"Last-Translator: Sergey Glita <gsv70@mail.ru>\n"
|
||||
"Language-Team: Russian (http://www.transifex.net/projects/p/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=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: ru\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"
|
||||
|
||||
#: __init__.py:20
|
||||
#: __init__.py:22
|
||||
msgid "change password"
|
||||
msgstr "Изменение пароля"
|
||||
|
||||
#: __init__.py:21
|
||||
#: __init__.py:23
|
||||
msgid "user details"
|
||||
msgstr "сведения о пользователе"
|
||||
|
||||
#: __init__.py:22
|
||||
#: __init__.py:24
|
||||
msgid "edit details"
|
||||
msgstr "изменение сведений"
|
||||
|
||||
#: __init__.py:26 __init__.py:31
|
||||
#: __init__.py:28 __init__.py:33
|
||||
msgid "about"
|
||||
msgstr "инфо"
|
||||
|
||||
#: __init__.py:27
|
||||
#: __init__.py:29
|
||||
msgid "license"
|
||||
msgstr "лицензия"
|
||||
|
||||
@@ -52,9 +50,7 @@ msgstr "Email"
|
||||
msgid ""
|
||||
"Please enter a correct email and password. Note that the password fields is "
|
||||
"case-sensitive."
|
||||
msgstr ""
|
||||
"Пожалуйста, введите правильный адрес электронной почты и пароль с учетом "
|
||||
"регистра."
|
||||
msgstr "Пожалуйста, введите правильный адрес электронной почты и пароль с учетом регистра."
|
||||
|
||||
#: forms.py:146
|
||||
msgid "This account is inactive."
|
||||
@@ -102,15 +98,15 @@ msgstr "Пейзаж"
|
||||
|
||||
#: models.py:16
|
||||
msgid "lock field"
|
||||
msgstr ""
|
||||
msgstr "блокировка поля"
|
||||
|
||||
#: models.py:43
|
||||
msgid "Anonymous user"
|
||||
msgstr ""
|
||||
msgstr "Анонимный пользователь"
|
||||
|
||||
#: models.py:46 models.py:47
|
||||
msgid "anonymous user"
|
||||
msgstr ""
|
||||
msgstr "анонимный пользователь"
|
||||
|
||||
#: utils.py:295
|
||||
msgid "function found"
|
||||
@@ -153,7 +149,7 @@ msgstr "данные пользователя"
|
||||
|
||||
#: views.py:187
|
||||
msgid "E-mail conflict, another user has that same email."
|
||||
msgstr ""
|
||||
msgstr "Другой пользователь укеазал тот же е-мейл."
|
||||
|
||||
#: views.py:190
|
||||
msgid "Current user's details updated."
|
||||
@@ -169,7 +165,7 @@ msgstr "Лицензия"
|
||||
|
||||
#: views.py:239
|
||||
msgid "Current user password change"
|
||||
msgstr ""
|
||||
msgstr "Изменить пароль пользователя"
|
||||
|
||||
#: views.py:254 templates/password_change_done.html:5
|
||||
msgid "Your password has been successfully changed."
|
||||
@@ -182,24 +178,19 @@ msgstr "Ни один"
|
||||
#: conf/settings.py:15
|
||||
msgid ""
|
||||
"Temporary directory used site wide to store thumbnails, previews and "
|
||||
"temporary files. If none is specified, one will be created using tempfile."
|
||||
"mkdtemp()"
|
||||
msgstr ""
|
||||
"Временный каталог, используемый сайтом для хранения миниатюр, превью и "
|
||||
"временных файлов. Если он не указан, он будет создан с использованием "
|
||||
"tempfile.mkdtemp ()"
|
||||
"temporary files. If none is specified, one will be created using "
|
||||
"tempfile.mkdtemp()"
|
||||
msgstr "Временный каталог, используемый сайтом для хранения миниатюр, превью и временных файлов. Если он не указан, он будет создан с использованием tempfile.mkdtemp ()"
|
||||
|
||||
#: conf/settings.py:65
|
||||
msgid ""
|
||||
"Controls the mechanism used to authenticated user. Options are: username, "
|
||||
"email"
|
||||
msgstr ""
|
||||
"Управление механизмом, используемым для аутентификации пользователя. "
|
||||
"Возможные варианты: имя пользователя, адрес электронной почты"
|
||||
msgstr "Управление механизмом, используемым для аутентификации пользователя. Возможные варианты: имя пользователя, адрес электронной почты"
|
||||
|
||||
#: conf/settings.py:74
|
||||
msgid "Allow non authenticated users, access to all views"
|
||||
msgstr ""
|
||||
msgstr "Разрешить, не прошедшим проверку, пользователям доступ ко всем представлениям"
|
||||
|
||||
#: templates/403.html:3 templates/403.html.py:7
|
||||
msgid "Insufficient permissions"
|
||||
@@ -305,7 +296,7 @@ msgstr "Выполнить"
|
||||
|
||||
#: templates/generic_form_subtemplate.html:87
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Отменить"
|
||||
|
||||
#: templates/generic_list.html:6 templates/generic_list_horizontal.html:6
|
||||
#, python-format
|
||||
@@ -318,9 +309,7 @@ msgstr "Список \"%(stripped_title)s\""
|
||||
msgid ""
|
||||
"List of %(title)s (%(start)s - %(end)s out of %(total)s) (Page "
|
||||
"%(page_number)s of %(total_pages)s)"
|
||||
msgstr ""
|
||||
"Список %(title)s (%(start)s - %(end)s из %(total)s) (Page %(page_number)s из "
|
||||
"%(total_pages)s)"
|
||||
msgstr "Список %(title)s (%(start)s - %(end)s из %(total)s) (Page %(page_number)s из %(total_pages)s)"
|
||||
|
||||
#: templates/generic_list_horizontal_subtemplate.html:25
|
||||
#: templates/generic_list_subtemplate.html:26
|
||||
|
||||
32
apps/common/migrations/0001_initial.py
Normal file
32
apps/common/migrations/0001_initial.py
Normal file
@@ -0,0 +1,32 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Adding model 'AnonymousUserSingleton'
|
||||
db.create_table('common_anonymoususersingleton', (
|
||||
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
||||
('lock_id', self.gf('django.db.models.fields.CharField')(default=1, unique=True, max_length=1)),
|
||||
))
|
||||
db.send_create_signal('common', ['AnonymousUserSingleton'])
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Deleting model 'AnonymousUserSingleton'
|
||||
db.delete_table('common_anonymoususersingleton')
|
||||
|
||||
|
||||
models = {
|
||||
'common.anonymoususersingleton': {
|
||||
'Meta': {'object_name': 'AnonymousUserSingleton'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'lock_id': ('django.db.models.fields.CharField', [], {'default': '1', 'unique': 'True', 'max_length': '1'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['common']
|
||||
77
apps/common/migrations/0002_auto__add_autoadminsingleton.py
Normal file
77
apps/common/migrations/0002_auto__add_autoadminsingleton.py
Normal file
@@ -0,0 +1,77 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Adding model 'AutoAdminSingleton'
|
||||
db.create_table('common_autoadminsingleton', (
|
||||
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
||||
('lock_id', self.gf('django.db.models.fields.CharField')(default=1, unique=True, max_length=1)),
|
||||
('original_auto_admin_password', self.gf('django.db.models.fields.BooleanField')(default=True)),
|
||||
('auto_admin', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True, blank=True)),
|
||||
))
|
||||
db.send_create_signal('common', ['AutoAdminSingleton'])
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Deleting model 'AutoAdminSingleton'
|
||||
db.delete_table('common_autoadminsingleton')
|
||||
|
||||
|
||||
models = {
|
||||
'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
'auth.permission': {
|
||||
'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'auth.user': {
|
||||
'Meta': {'object_name': 'User'},
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
||||
},
|
||||
'common.anonymoususersingleton': {
|
||||
'Meta': {'object_name': 'AnonymousUserSingleton'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'lock_id': ('django.db.models.fields.CharField', [], {'default': '1', 'unique': 'True', 'max_length': '1'})
|
||||
},
|
||||
'common.autoadminsingleton': {
|
||||
'Meta': {'object_name': 'AutoAdminSingleton'},
|
||||
'auto_admin': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'lock_id': ('django.db.models.fields.CharField', [], {'default': '1', 'unique': 'True', 'max_length': '1'}),
|
||||
'original_auto_admin_password': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
|
||||
},
|
||||
'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['common']
|
||||
@@ -0,0 +1,97 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Deleting field 'AutoAdminSingleton.original_auto_admin_password'
|
||||
db.delete_column('common_autoadminsingleton', 'original_auto_admin_password')
|
||||
|
||||
# Deleting field 'AutoAdminSingleton.auto_admin'
|
||||
db.delete_column('common_autoadminsingleton', 'auto_admin_id')
|
||||
|
||||
# Adding field 'AutoAdminSingleton.auto_admin_account'
|
||||
db.add_column('common_autoadminsingleton', 'auto_admin_account',
|
||||
self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='auto_admin_account', null=True, to=orm['auth.User']),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'AutoAdminSingleton.auto_admin_password'
|
||||
db.add_column('common_autoadminsingleton', 'auto_admin_password',
|
||||
self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True),
|
||||
keep_default=False)
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Adding field 'AutoAdminSingleton.original_auto_admin_password'
|
||||
db.add_column('common_autoadminsingleton', 'original_auto_admin_password',
|
||||
self.gf('django.db.models.fields.BooleanField')(default=True),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'AutoAdminSingleton.auto_admin'
|
||||
db.add_column('common_autoadminsingleton', 'auto_admin',
|
||||
self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True, blank=True),
|
||||
keep_default=False)
|
||||
|
||||
# Deleting field 'AutoAdminSingleton.auto_admin_account'
|
||||
db.delete_column('common_autoadminsingleton', 'auto_admin_account_id')
|
||||
|
||||
# Deleting field 'AutoAdminSingleton.auto_admin_password'
|
||||
db.delete_column('common_autoadminsingleton', 'auto_admin_password')
|
||||
|
||||
|
||||
models = {
|
||||
'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
'auth.permission': {
|
||||
'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'auth.user': {
|
||||
'Meta': {'object_name': 'User'},
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
||||
},
|
||||
'common.anonymoususersingleton': {
|
||||
'Meta': {'object_name': 'AnonymousUserSingleton'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'lock_id': ('django.db.models.fields.CharField', [], {'default': '1', 'unique': 'True', 'max_length': '1'})
|
||||
},
|
||||
'common.autoadminsingleton': {
|
||||
'Meta': {'object_name': 'AutoAdminSingleton'},
|
||||
'auto_admin_account': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'auto_admin_account'", 'null': 'True', 'to': "orm['auth.User']"}),
|
||||
'auto_admin_password': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'lock_id': ('django.db.models.fields.CharField', [], {'default': '1', 'unique': 'True', 'max_length': '1'})
|
||||
},
|
||||
'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['common']
|
||||
@@ -0,0 +1,106 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Deleting field 'AutoAdminSingleton.auto_admin_password'
|
||||
db.delete_column('common_autoadminsingleton', 'auto_admin_password')
|
||||
|
||||
# Deleting field 'AutoAdminSingleton.auto_admin_account'
|
||||
db.delete_column('common_autoadminsingleton', 'auto_admin_account_id')
|
||||
|
||||
# Adding field 'AutoAdminSingleton.account'
|
||||
db.add_column('common_autoadminsingleton', 'account',
|
||||
self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='auto_admin_account', null=True, to=orm['auth.User']),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'AutoAdminSingleton.password'
|
||||
db.add_column('common_autoadminsingleton', 'password',
|
||||
self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'AutoAdminSingleton.password_hash'
|
||||
db.add_column('common_autoadminsingleton', 'password_hash',
|
||||
self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True),
|
||||
keep_default=False)
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Adding field 'AutoAdminSingleton.auto_admin_password'
|
||||
db.add_column('common_autoadminsingleton', 'auto_admin_password',
|
||||
self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'AutoAdminSingleton.auto_admin_account'
|
||||
db.add_column('common_autoadminsingleton', 'auto_admin_account',
|
||||
self.gf('django.db.models.fields.related.ForeignKey')(related_name='auto_admin_account', null=True, to=orm['auth.User'], blank=True),
|
||||
keep_default=False)
|
||||
|
||||
# Deleting field 'AutoAdminSingleton.account'
|
||||
db.delete_column('common_autoadminsingleton', 'account_id')
|
||||
|
||||
# Deleting field 'AutoAdminSingleton.password'
|
||||
db.delete_column('common_autoadminsingleton', 'password')
|
||||
|
||||
# Deleting field 'AutoAdminSingleton.password_hash'
|
||||
db.delete_column('common_autoadminsingleton', 'password_hash')
|
||||
|
||||
|
||||
models = {
|
||||
'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
'auth.permission': {
|
||||
'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'auth.user': {
|
||||
'Meta': {'object_name': 'User'},
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
||||
},
|
||||
'common.anonymoususersingleton': {
|
||||
'Meta': {'object_name': 'AnonymousUserSingleton'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'lock_id': ('django.db.models.fields.CharField', [], {'default': '1', 'unique': 'True', 'max_length': '1'})
|
||||
},
|
||||
'common.autoadminsingleton': {
|
||||
'Meta': {'object_name': 'AutoAdminSingleton'},
|
||||
'account': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'auto_admin_account'", 'null': 'True', 'to': "orm['auth.User']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'lock_id': ('django.db.models.fields.CharField', [], {'default': '1', 'unique': 'True', 'max_length': '1'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
|
||||
'password_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['common']
|
||||
0
apps/common/migrations/__init__.py
Normal file
0
apps/common/migrations/__init__.py
Normal file
@@ -2,6 +2,7 @@ from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import ugettext
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
SINGLETON_LOCK_ID = 1
|
||||
|
||||
@@ -21,8 +22,9 @@ class Singleton(models.Model):
|
||||
self.id = 1
|
||||
super(Singleton, self).save(*args, **kwargs)
|
||||
|
||||
def delete(self):
|
||||
pass
|
||||
def delete(self, force=False, *args, **kwargs):
|
||||
if force:
|
||||
return super(Singleton, self).delete(*args, **kwargs)
|
||||
|
||||
class Meta:
|
||||
abstract = True
|
||||
@@ -45,3 +47,12 @@ class AnonymousUserSingleton(Singleton):
|
||||
class Meta:
|
||||
verbose_name = _(u'anonymous user')
|
||||
verbose_name_plural = _(u'anonymous user')
|
||||
|
||||
|
||||
class AutoAdminSingleton(Singleton):
|
||||
account = models.ForeignKey(User, null=True, blank=True, related_name='auto_admin_account', verbose_name=_(u'account'))
|
||||
password = models.CharField(null=True, blank=True, verbose_name=_(u'password'), max_length=128)
|
||||
password_hash = models.CharField(null=True, blank=True, verbose_name=_(u'password hash'), max_length=128)
|
||||
|
||||
class Meta:
|
||||
verbose_name = verbose_name_plural = _(u'auto admin properties')
|
||||
|
||||
12
apps/common/templatetags/autoadmin_tags.py
Normal file
12
apps/common/templatetags/autoadmin_tags.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from django.template import Library
|
||||
from django.utils.importlib import import_module
|
||||
|
||||
from common.models import AutoAdminSingleton
|
||||
|
||||
register = Library()
|
||||
|
||||
|
||||
@register.simple_tag(takes_context=True)
|
||||
def auto_admin_properties(context):
|
||||
context['auto_admin_properties'] = AutoAdminSingleton.objects.get()
|
||||
return u''
|
||||
BIN
apps/converter/locale/de_DE/LC_MESSAGES/django.mo
Normal file
BIN
apps/converter/locale/de_DE/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
936
apps/converter/locale/de_DE/LC_MESSAGES/django.po
Normal file
936
apps/converter/locale/de_DE/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 19:02-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -919,6 +919,10 @@ msgid ""
|
||||
"but less prone to segmentation faults."
|
||||
msgstr ""
|
||||
|
||||
#: conf/settings.py:18
|
||||
msgid "Path to the libreoffice program."
|
||||
msgstr ""
|
||||
|
||||
#: templates/converter_file_formats_help.html:3
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -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:
|
||||
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2011.
|
||||
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2011, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"PO-Revision-Date: 2011-12-14 14:37+0000\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-06-17 22:21+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/"
|
||||
"mayan-edms/team/es/)\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:15
|
||||
@@ -474,8 +473,7 @@ msgstr "Magick Image File Format"
|
||||
#: literals.py:177
|
||||
msgid ""
|
||||
"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)"
|
||||
msgstr "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:178
|
||||
msgid "Raw Bi-level bitmap in least-significant-byte first order"
|
||||
@@ -636,24 +634,19 @@ msgstr "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
#: literals.py:227
|
||||
msgid ""
|
||||
"24-bit RGB PNG, opaque only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
msgstr ""
|
||||
"24-bit RGB PNG, opaque only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
msgstr "24-bit RGB PNG, opaque only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:228
|
||||
msgid ""
|
||||
"32-bit RGBA PNG, semitransparency OK (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr ""
|
||||
"32-bit RGBA PNG, semitransparency OK (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr "32-bit RGBA PNG, semitransparency OK (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:229
|
||||
msgid ""
|
||||
"8-bit indexed PNG, binary transparency only (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr ""
|
||||
"8-bit indexed PNG, binary transparency only (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr "8-bit indexed PNG, binary transparency only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:230
|
||||
msgid "Portable anymap"
|
||||
@@ -913,11 +906,10 @@ msgstr "Ruta de archivo al programa imagemagick."
|
||||
|
||||
#: conf/settings.py:15
|
||||
msgid ""
|
||||
"Graphics conversion backend to use. Options are: converter.backends."
|
||||
"imagemagick, converter.backends.graphicsmagick and converter.backends.python."
|
||||
msgstr ""
|
||||
"Manejador de conversión a usarse. Opciones son: converter.backends."
|
||||
"imagemagick, converter.backends.graphicsmagick y converter.backends.python."
|
||||
"Graphics conversion backend to use. Options are: "
|
||||
"converter.backends.imagemagick, converter.backends.graphicsmagick and "
|
||||
"converter.backends.python."
|
||||
msgstr "Manejador de conversión a usarse. Opciones son: converter.backends.imagemagick, converter.backends.graphicsmagick y converter.backends.python."
|
||||
|
||||
#: conf/settings.py:16
|
||||
msgid "Path to the unoconv program."
|
||||
@@ -925,11 +917,13 @@ msgstr "Ruta de acceso al programa de unoconv."
|
||||
|
||||
#: conf/settings.py:17
|
||||
msgid ""
|
||||
"Use alternate method of connection to LibreOffice using a pipe, it is slower "
|
||||
"but less prone to segmentation faults."
|
||||
msgstr ""
|
||||
"Utilizar el método alternativo de conexión a LibreOffice con un tubo, es más "
|
||||
"lento pero menos propensos a fallos de segmentación."
|
||||
"Use alternate method of connection to LibreOffice using a pipe, it is slower"
|
||||
" but less prone to segmentation faults."
|
||||
msgstr "Utilizar el método alternativo de conexión a LibreOffice con un tubo, es más lento pero menos propensos a fallos de segmentación."
|
||||
|
||||
#: conf/settings.py:18
|
||||
msgid "Path to the libreoffice program."
|
||||
msgstr "Ruta de acceso al programa LibreOffice."
|
||||
|
||||
#: templates/converter_file_formats_help.html:3
|
||||
msgid "Help"
|
||||
@@ -940,6 +934,4 @@ msgstr "Ayuda"
|
||||
msgid ""
|
||||
"These are the file formats supported by the currently selected converter "
|
||||
"backend. In this case: '%(backend)s'"
|
||||
msgstr ""
|
||||
"Estos son los formatos de archivo apoyados por el servidor del convertidor "
|
||||
"seleccionado. En este caso: '%(backend)s'"
|
||||
msgstr "Estos son los formatos de archivo apoyados por el servidor del convertidor seleccionado. En este caso: '%(backend)s'"
|
||||
|
||||
Binary file not shown.
@@ -8,9 +8,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"PO-Revision-Date: 2011-12-09 14:53+0000\n"
|
||||
"Last-Translator: Pierpaolo Baldan <pierpaolo.baldan@gmail.com>\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-06-17 22:11+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.net/projects/p/mayan-edms/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -921,6 +921,10 @@ msgid ""
|
||||
" but less prone to segmentation faults."
|
||||
msgstr "Utilizzare il metodo alternativo di collegamento a LibreOffice utilizzando questo collegamento, è più lento ma meno soggetto a errori di segmentazione."
|
||||
|
||||
#: conf/settings.py:18
|
||||
msgid "Path to the libreoffice program."
|
||||
msgstr ""
|
||||
|
||||
#: templates/converter_file_formats_help.html:3
|
||||
msgid "Help"
|
||||
msgstr "Aiuto"
|
||||
|
||||
Binary file not shown.
@@ -8,9 +8,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"PO-Revision-Date: 2012-02-20 17:09+0000\n"
|
||||
"Last-Translator: mic <winterfall24@gmail.com>\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-06-17 22:11+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Polish (http://www.transifex.net/projects/p/mayan-edms/language/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -921,6 +921,10 @@ msgid ""
|
||||
" but less prone to segmentation faults."
|
||||
msgstr ""
|
||||
|
||||
#: conf/settings.py:18
|
||||
msgid "Path to the libreoffice program."
|
||||
msgstr ""
|
||||
|
||||
#: templates/converter_file_formats_help.html:3
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -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:
|
||||
# <dev.emerson@gmail.com>, 2011.
|
||||
# Renata Oliveira <renatabels@gmail.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"PO-Revision-Date: 2011-11-22 15:26+0000\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-06-17 22:11+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.net/projects/p/mayan-edms/"
|
||||
"team/pt/)\n"
|
||||
"Language: pt\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:15
|
||||
@@ -475,8 +474,7 @@ msgstr "Magick Image File Format"
|
||||
#: literals.py:177
|
||||
msgid ""
|
||||
"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)"
|
||||
msgstr "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:178
|
||||
msgid "Raw Bi-level bitmap in least-significant-byte first order"
|
||||
@@ -637,24 +635,19 @@ msgstr "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
#: literals.py:227
|
||||
msgid ""
|
||||
"24-bit RGB PNG, opaque only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
msgstr ""
|
||||
"24-bit RGB PNG, opaque only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
msgstr "24-bit RGB PNG, opaque only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:228
|
||||
msgid ""
|
||||
"32-bit RGBA PNG, semitransparency OK (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr ""
|
||||
"32-bit RGBA PNG, semitransparency OK (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr "32-bit RGBA PNG, semitransparency OK (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:229
|
||||
msgid ""
|
||||
"8-bit indexed PNG, binary transparency only (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr ""
|
||||
"8-bit indexed PNG, binary transparency only (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr "8-bit indexed PNG, binary transparency only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:230
|
||||
msgid "Portable anymap"
|
||||
@@ -914,11 +907,10 @@ msgstr "Caminho do arquivo para o programa graphicsmagick."
|
||||
|
||||
#: conf/settings.py:15
|
||||
msgid ""
|
||||
"Graphics conversion backend to use. Options are: converter.backends."
|
||||
"imagemagick, converter.backends.graphicsmagick and converter.backends.python."
|
||||
msgstr ""
|
||||
"Gráficos de conversão backend para usar. As opções são: 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."
|
||||
msgstr "Gráficos de conversão backend para usar. As opções são: converter.backends.imagemagick, converter.backends.graphicsmagick and converter.backends.python."
|
||||
|
||||
#: conf/settings.py:16
|
||||
msgid "Path to the unoconv program."
|
||||
@@ -926,8 +918,12 @@ msgstr ""
|
||||
|
||||
#: conf/settings.py:17
|
||||
msgid ""
|
||||
"Use alternate method of connection to LibreOffice using a pipe, it is slower "
|
||||
"but less prone to segmentation faults."
|
||||
"Use alternate method of connection to LibreOffice using a pipe, it is slower"
|
||||
" but less prone to segmentation faults."
|
||||
msgstr ""
|
||||
|
||||
#: conf/settings.py:18
|
||||
msgid "Path to the libreoffice program."
|
||||
msgstr ""
|
||||
|
||||
#: templates/converter_file_formats_help.html:3
|
||||
@@ -939,6 +935,4 @@ msgstr "Ajuda"
|
||||
msgid ""
|
||||
"These are the file formats supported by the currently selected converter "
|
||||
"backend. In this case: '%(backend)s'"
|
||||
msgstr ""
|
||||
"Estes são os formatos de arquivos suportados pelo servidor conversor "
|
||||
"selecionado. Neste caso: ' %(backend)s '"
|
||||
msgstr "Estes são os formatos de arquivos suportados pelo servidor conversor selecionado. Neste caso: ' %(backend)s '"
|
||||
|
||||
Binary file not shown.
@@ -1,24 +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:
|
||||
# Sergey Glita <gsv70@mail.ru>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"PO-Revision-Date: 2011-11-22 19:01+0000\n"
|
||||
"Last-Translator: Sergey Glita <gsv70@mail.ru>\n"
|
||||
"Language-Team: Russian (http://www.transifex.net/projects/p/mayan-edms/team/"
|
||||
"ru/)\n"
|
||||
"Language: ru\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-06-17 22:11+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.net/projects/p/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=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: ru\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"
|
||||
|
||||
#: __init__.py:15
|
||||
msgid "file formats"
|
||||
@@ -475,8 +473,7 @@ msgstr "Magick Image File Format"
|
||||
#: literals.py:177
|
||||
msgid ""
|
||||
"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)"
|
||||
msgstr "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:178
|
||||
msgid "Raw Bi-level bitmap in least-significant-byte first order"
|
||||
@@ -637,24 +634,19 @@ msgstr "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
#: literals.py:227
|
||||
msgid ""
|
||||
"24-bit RGB PNG, opaque only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
msgstr ""
|
||||
"24-bit RGB PNG, opaque only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
msgstr "24-bit RGB PNG, opaque only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:228
|
||||
msgid ""
|
||||
"32-bit RGBA PNG, semitransparency OK (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr ""
|
||||
"32-bit RGBA PNG, semitransparency OK (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr "32-bit RGBA PNG, semitransparency OK (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:229
|
||||
msgid ""
|
||||
"8-bit indexed PNG, binary transparency only (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr ""
|
||||
"8-bit indexed PNG, binary transparency only (libpng 1.2.42,1.2.44, zlib "
|
||||
"1.2.3.3,1.2.3.4)"
|
||||
msgstr "8-bit indexed PNG, binary transparency only (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)"
|
||||
|
||||
#: literals.py:230
|
||||
msgid "Portable anymap"
|
||||
@@ -914,11 +906,10 @@ msgstr "Путь к файлу программs GraphicsMagick."
|
||||
|
||||
#: conf/settings.py:15
|
||||
msgid ""
|
||||
"Graphics conversion backend to use. Options are: converter.backends."
|
||||
"imagemagick, converter.backends.graphicsmagick and converter.backends.python."
|
||||
msgstr ""
|
||||
"Конвертер графических файлов. Возможные варианты: converter.backends."
|
||||
"imagemagick, converter.backends.graphicsmagick и converter.backends.python."
|
||||
"Graphics conversion backend to use. Options are: "
|
||||
"converter.backends.imagemagick, converter.backends.graphicsmagick and "
|
||||
"converter.backends.python."
|
||||
msgstr "Конвертер графических файлов. Возможные варианты: converter.backends.imagemagick, converter.backends.graphicsmagick и converter.backends.python."
|
||||
|
||||
#: conf/settings.py:16
|
||||
msgid "Path to the unoconv program."
|
||||
@@ -926,11 +917,13 @@ msgstr "Путь к программе unoconv."
|
||||
|
||||
#: conf/settings.py:17
|
||||
msgid ""
|
||||
"Use alternate method of connection to LibreOffice using a pipe, it is slower "
|
||||
"but less prone to segmentation faults."
|
||||
"Use alternate method of connection to LibreOffice using a pipe, it is slower"
|
||||
" but less prone to segmentation faults."
|
||||
msgstr "Использовать альтернативный способ подключения к LibreOffice использованием конвейера pipe, это медленнее, но менее опасно ошибкой сегментации."
|
||||
|
||||
#: conf/settings.py:18
|
||||
msgid "Path to the libreoffice program."
|
||||
msgstr ""
|
||||
"Использовать альтернативный способ подключения к LibreOffice использованием "
|
||||
"конвейера pipe, это медленнее, но менее опасно ошибкой сегментации."
|
||||
|
||||
#: templates/converter_file_formats_help.html:3
|
||||
msgid "Help"
|
||||
@@ -941,5 +934,4 @@ msgstr "Помощь"
|
||||
msgid ""
|
||||
"These are the file formats supported by the currently selected converter "
|
||||
"backend. In this case: '%(backend)s'"
|
||||
msgstr ""
|
||||
"Эти форматы поддерживают выбранный конвертер. Сейчас это: '%(backend)s'"
|
||||
msgstr "Эти форматы поддерживают выбранный конвертер. Сейчас это: '%(backend)s'"
|
||||
|
||||
BIN
apps/django_gpg/locale/de_DE/LC_MESSAGES/django.mo
Normal file
BIN
apps/django_gpg/locale/de_DE/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
215
apps/django_gpg/locale/de_DE/LC_MESSAGES/django.po
Normal file
215
apps/django_gpg/locale/de_DE/LC_MESSAGES/django.po
Normal file
@@ -0,0 +1,215 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# <tetja.rediske@googlemail.com>, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-04-20 11:04+0000\n"
|
||||
"Last-Translator: tetjarediske <tetja.rediske@googlemail.com>\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:14 views.py:66
|
||||
msgid "private keys"
|
||||
msgstr "Private Schlüssel"
|
||||
|
||||
#: __init__.py:15 views.py:69
|
||||
msgid "public keys"
|
||||
msgstr "Öffentliche Schlüssel"
|
||||
|
||||
#: __init__.py:16
|
||||
msgid "delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: __init__.py:17
|
||||
msgid "query keyservers"
|
||||
msgstr "Schlüsselserver abfragen"
|
||||
|
||||
#: __init__.py:18
|
||||
msgid "import"
|
||||
msgstr "Importieren"
|
||||
|
||||
#: __init__.py:19
|
||||
msgid "key management"
|
||||
msgstr "Schlüssel-Management"
|
||||
|
||||
#: api.py:24
|
||||
msgid "Public"
|
||||
msgstr "Öffentlich"
|
||||
|
||||
#: api.py:25
|
||||
msgid "Secret"
|
||||
msgstr "Geheim"
|
||||
|
||||
#: api.py:33 api.py:38
|
||||
msgid "RSA"
|
||||
msgstr "RSA"
|
||||
|
||||
#: api.py:34
|
||||
msgid "DSA"
|
||||
msgstr "DSA"
|
||||
|
||||
#: api.py:39
|
||||
msgid "Elgamal"
|
||||
msgstr "Elgamal"
|
||||
|
||||
#: api.py:53
|
||||
msgid "Bad signature."
|
||||
msgstr "Ungültige Signatur."
|
||||
|
||||
#: api.py:57
|
||||
msgid "Document not signed or invalid signature."
|
||||
msgstr "Dokument nicht signiert oder ungültige Signatur."
|
||||
|
||||
#: api.py:61
|
||||
msgid "Signature error."
|
||||
msgstr "Signatur Fehler."
|
||||
|
||||
#: api.py:65
|
||||
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."
|
||||
|
||||
#: api.py:69
|
||||
msgid "Document is signed, and signature is good."
|
||||
msgstr "Dokument ist signiert, und die Unterschrift ist gültig."
|
||||
|
||||
#: api.py:73
|
||||
msgid "Document is signed with a valid signature."
|
||||
msgstr "Das Dokument ist mit einer gültigen Signatur signiert."
|
||||
|
||||
#: api.py:146
|
||||
msgid "unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
#: forms.py:7
|
||||
msgid "Term"
|
||||
msgstr "Begriff"
|
||||
|
||||
#: forms.py:8
|
||||
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."
|
||||
|
||||
#: permissions.py:7
|
||||
msgid "Key management"
|
||||
msgstr "Schlüssel-Management"
|
||||
|
||||
#: permissions.py:9
|
||||
msgid "View keys"
|
||||
msgstr "Schlüssel anzeigen"
|
||||
|
||||
#: permissions.py:10
|
||||
msgid "Delete keys"
|
||||
msgstr "Lösche Schlüssel"
|
||||
|
||||
#: permissions.py:11
|
||||
msgid "Query keyservers"
|
||||
msgstr "Keyserver abfragen"
|
||||
|
||||
#: permissions.py:12
|
||||
msgid "Import keys from keyservers"
|
||||
msgstr "Hole Schlüssel von Schlüsselservern"
|
||||
|
||||
#: views.py:37
|
||||
#, python-format
|
||||
msgid "Key: %s, imported successfully."
|
||||
msgstr "Schlüssel: %s, erfolgreich importiert."
|
||||
|
||||
#: views.py:42
|
||||
#, python-format
|
||||
msgid "Unable to import key id: %(key_id)s; %(error)s"
|
||||
msgstr "Kann Schlüssel nicht importieren: %(key_id)s; %(error)s"
|
||||
|
||||
#: views.py:51
|
||||
msgid "Import key"
|
||||
msgstr "Schlüssel importieren"
|
||||
|
||||
#: views.py:52
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to import key id: %s?"
|
||||
msgstr "Sind Sie sicher, dass Sie folgende Schlüssel-ID importieren möchten:%s?"
|
||||
|
||||
#: views.py:77
|
||||
msgid "Key ID"
|
||||
msgstr "Schlüssel ID"
|
||||
|
||||
#: views.py:81
|
||||
msgid "Owner"
|
||||
msgstr "Eigentümer"
|
||||
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "Key: %s, deleted successfully."
|
||||
msgstr "Schlüssel: %s, erfolgreich gelöscht."
|
||||
|
||||
#: views.py:108
|
||||
msgid "Delete key"
|
||||
msgstr "Schlüssel löschen"
|
||||
|
||||
#: views.py:110
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr "Sind Sie sicher, dass Sie den Schlüssel löschen wollen :%s? Wenn Sie einen öffentlichen Schlüssel, der Teil eines öffentlichen/privaten Paar ist, zu löschen versuchen, wir der private Schlüssel ebenfalls gelöscht."
|
||||
|
||||
#: views.py:128
|
||||
msgid "Query key server"
|
||||
msgstr "Schlüssel Abfrage Server"
|
||||
|
||||
#: views.py:141
|
||||
msgid "results"
|
||||
msgstr "Ergebnis"
|
||||
|
||||
#: views.py:146
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#: views.py:150
|
||||
msgid "type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: views.py:154
|
||||
msgid "creation date"
|
||||
msgstr "Erstellungsdatum"
|
||||
|
||||
#: views.py:158
|
||||
msgid "disabled"
|
||||
msgstr "Deaktiviert"
|
||||
|
||||
#: views.py:162
|
||||
msgid "expiration date"
|
||||
msgstr "Ablaufdatum"
|
||||
|
||||
#: views.py:166
|
||||
msgid "expired"
|
||||
msgstr "Abgelaufen"
|
||||
|
||||
#: views.py:170
|
||||
msgid "length"
|
||||
msgstr "Länge"
|
||||
|
||||
#: views.py:174
|
||||
msgid "revoked"
|
||||
msgstr "Zurückgezogen"
|
||||
|
||||
#: views.py:179
|
||||
msgid "Identifies"
|
||||
msgstr "Identifiziert"
|
||||
|
||||
#: conf/settings.py:15
|
||||
msgid "List of keyservers to be queried for unknown keys."
|
||||
msgstr "Liste der Server, die nach unbekannten Schlüsseln durchsucht werden."
|
||||
|
||||
#: conf/settings.py:16
|
||||
msgid "Home directory used to store keys as well as configuration files."
|
||||
msgstr "Verzeichnis zum speichern von Schlüsseln und Konfigurations-Dateien"
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 19:03-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,11 +17,11 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: __init__.py:14 views.py:67
|
||||
#: __init__.py:14 views.py:66
|
||||
msgid "private keys"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:15 views.py:70
|
||||
#: __init__.py:15 views.py:69
|
||||
msgid "public keys"
|
||||
msgstr ""
|
||||
|
||||
@@ -41,59 +41,59 @@ msgstr ""
|
||||
msgid "key management"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:19
|
||||
#: api.py:24
|
||||
msgid "Public"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:20
|
||||
#: api.py:25
|
||||
msgid "Secret"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:28 api.py:33
|
||||
#: api.py:33 api.py:38
|
||||
msgid "RSA"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:29
|
||||
#: api.py:34
|
||||
msgid "DSA"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:34
|
||||
#: api.py:39
|
||||
msgid "Elgamal"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:48
|
||||
#: api.py:53
|
||||
msgid "Bad signature."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:52
|
||||
#: api.py:57
|
||||
msgid "Document not signed or invalid signature."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:56
|
||||
#: api.py:61
|
||||
msgid "Signature error."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:60
|
||||
#: api.py:65
|
||||
msgid "Document is signed but no public key is available for verification."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:64
|
||||
#: api.py:69
|
||||
msgid "Document is signed, and signature is good."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:68
|
||||
#: api.py:73
|
||||
msgid "Document is signed with a valid signature."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:141
|
||||
#: api.py:146
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:8
|
||||
#: forms.py:7
|
||||
msgid "Term"
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:9
|
||||
#: forms.py:8
|
||||
msgid "Name, e-mail, key ID or key fingerprint to look for."
|
||||
msgstr ""
|
||||
|
||||
@@ -117,43 +117,43 @@ msgstr ""
|
||||
msgid "Import keys from keyservers"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:38
|
||||
#: views.py:37
|
||||
#, python-format
|
||||
msgid "Key: %s, imported successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:43
|
||||
#: views.py:42
|
||||
#, python-format
|
||||
msgid "Unable to import key id: %(key_id)s; %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:52
|
||||
#: views.py:51
|
||||
msgid "Import key"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:53
|
||||
#: views.py:52
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to import key id: %s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:78
|
||||
#: views.py:77
|
||||
msgid "Key ID"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:82
|
||||
#: views.py:81
|
||||
msgid "Owner"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:102
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "Key: %s, deleted successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:108
|
||||
msgid "Delete key"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:111
|
||||
#: views.py:110
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Are you sure you wish to delete key: %s? If you try to delete a public key "
|
||||
@@ -161,47 +161,47 @@ msgid ""
|
||||
"well."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:129
|
||||
#: views.py:128
|
||||
msgid "Query key server"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:142
|
||||
#: views.py:141
|
||||
msgid "results"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:147
|
||||
#: views.py:146
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:150
|
||||
msgid "type"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:155
|
||||
#: views.py:154
|
||||
msgid "creation date"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:159
|
||||
#: views.py:158
|
||||
msgid "disabled"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:162
|
||||
msgid "expiration date"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:167
|
||||
#: views.py:166
|
||||
msgid "expired"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:171
|
||||
#: views.py:170
|
||||
msgid "length"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:175
|
||||
#: views.py:174
|
||||
msgid "revoked"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:180
|
||||
#: views.py:179
|
||||
msgid "Identifies"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,29 +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:
|
||||
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2011, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:37+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/"
|
||||
"mayan-edms/team/es/)\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:14 views.py:67
|
||||
#: __init__.py:14 views.py:66
|
||||
msgid "private keys"
|
||||
msgstr "llaves privadas"
|
||||
|
||||
#: __init__.py:15 views.py:70
|
||||
#: __init__.py:15 views.py:69
|
||||
msgid "public keys"
|
||||
msgstr "llaves públicas"
|
||||
|
||||
@@ -43,65 +42,61 @@ msgstr "importar"
|
||||
msgid "key management"
|
||||
msgstr "manejo de llaves"
|
||||
|
||||
#: api.py:19
|
||||
#: api.py:24
|
||||
msgid "Public"
|
||||
msgstr "Pública"
|
||||
|
||||
#: api.py:20
|
||||
#: api.py:25
|
||||
msgid "Secret"
|
||||
msgstr "Secreta"
|
||||
|
||||
#: api.py:28 api.py:33
|
||||
#: api.py:33 api.py:38
|
||||
msgid "RSA"
|
||||
msgstr "RSA"
|
||||
|
||||
#: api.py:29
|
||||
#: api.py:34
|
||||
msgid "DSA"
|
||||
msgstr "DSA"
|
||||
|
||||
#: api.py:34
|
||||
#: api.py:39
|
||||
msgid "Elgamal"
|
||||
msgstr "Elgamal"
|
||||
|
||||
#: api.py:48
|
||||
#: api.py:53
|
||||
msgid "Bad signature."
|
||||
msgstr "Firma invalida."
|
||||
|
||||
#: api.py:52
|
||||
#: api.py:57
|
||||
msgid "Document not signed or invalid signature."
|
||||
msgstr "Documento no firmado o firma invalida."
|
||||
|
||||
#: api.py:56
|
||||
#: api.py:61
|
||||
msgid "Signature error."
|
||||
msgstr "Error de firma."
|
||||
|
||||
#: api.py:60
|
||||
#: api.py:65
|
||||
msgid "Document is signed but no public key is available for verification."
|
||||
msgstr ""
|
||||
"El document ha sido firmado pero no hay llave pública disponible para "
|
||||
"verificación."
|
||||
msgstr "El document ha sido firmado pero no hay llave pública disponible para verificación."
|
||||
|
||||
#: api.py:64
|
||||
#: api.py:69
|
||||
msgid "Document is signed, and signature is good."
|
||||
msgstr "El document ha sido firmado y la firma esta es buen estado."
|
||||
|
||||
#: api.py:68
|
||||
#: api.py:73
|
||||
msgid "Document is signed with a valid signature."
|
||||
msgstr "El document ha sido firmado y la firma ha sido validada."
|
||||
|
||||
#: api.py:141
|
||||
#: api.py:146
|
||||
msgid "unknown"
|
||||
msgstr "desconocida"
|
||||
|
||||
#: forms.py:8
|
||||
#: forms.py:7
|
||||
msgid "Term"
|
||||
msgstr "Término"
|
||||
|
||||
#: forms.py:9
|
||||
#: forms.py:8
|
||||
msgid "Name, e-mail, key ID or key fingerprint to look for."
|
||||
msgstr ""
|
||||
"Nombre, dirección de correo electrónico, identificador de llave or huella "
|
||||
"digital de llave a buscar."
|
||||
msgstr "Nombre, dirección de correo electrónico, identificador de llave or huella digital de llave a buscar."
|
||||
|
||||
#: permissions.py:7
|
||||
msgid "Key management"
|
||||
@@ -123,105 +118,98 @@ msgstr "Hacer búsquedas en servidores de llaves"
|
||||
msgid "Import keys from keyservers"
|
||||
msgstr "Importar llaves del servidores de llaves"
|
||||
|
||||
#: views.py:38
|
||||
#: views.py:37
|
||||
#, python-format
|
||||
msgid "Key: %s, imported successfully."
|
||||
msgstr "Llave: %s, importada exitosamente."
|
||||
|
||||
#: views.py:43
|
||||
#: views.py:42
|
||||
#, python-format
|
||||
msgid "Unable to import key id: %(key_id)s; %(error)s"
|
||||
msgstr "No se pudo importar la llave: %(key_id)s ; %(error)s "
|
||||
|
||||
#: views.py:52
|
||||
#: views.py:51
|
||||
msgid "Import key"
|
||||
msgstr "Importar llave"
|
||||
|
||||
#: views.py:53
|
||||
#: views.py:52
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to import key id: %s?"
|
||||
msgstr "¿Esta seguro que desea importar la llave: %s?"
|
||||
|
||||
#: views.py:78
|
||||
#: views.py:77
|
||||
msgid "Key ID"
|
||||
msgstr "Identificador de llave"
|
||||
|
||||
#: views.py:82
|
||||
#: views.py:81
|
||||
msgid "Owner"
|
||||
msgstr "Dueño"
|
||||
|
||||
#: views.py:102
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "Key: %s, deleted successfully."
|
||||
msgstr "Llave: %s, borrada exitosamente."
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:108
|
||||
msgid "Delete key"
|
||||
msgstr "Borrar llave"
|
||||
|
||||
#: views.py:111
|
||||
#: views.py:110
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
"¿Esta seguro que desea borrar la llave: %s? Si trata de borrar una llave "
|
||||
"pública que es parte de un par público/privado la llave privada será borrada "
|
||||
"también."
|
||||
msgstr "¿Esta seguro que desea borrar la llave: %s? Si trata de borrar una llave pública que es parte de un par público/privado la llave privada será borrada también."
|
||||
|
||||
#: views.py:129
|
||||
#: views.py:128
|
||||
msgid "Query key server"
|
||||
msgstr "Consultar servidor de llaves"
|
||||
|
||||
#: views.py:142
|
||||
#: views.py:141
|
||||
msgid "results"
|
||||
msgstr "resultados"
|
||||
|
||||
#: views.py:147
|
||||
#: views.py:146
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:150
|
||||
msgid "type"
|
||||
msgstr "tipo"
|
||||
|
||||
#: views.py:155
|
||||
#: views.py:154
|
||||
msgid "creation date"
|
||||
msgstr "fecha de creación"
|
||||
|
||||
#: views.py:159
|
||||
#: views.py:158
|
||||
msgid "disabled"
|
||||
msgstr "desactivada"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:162
|
||||
msgid "expiration date"
|
||||
msgstr "fecha de expiración"
|
||||
|
||||
#: views.py:167
|
||||
#: views.py:166
|
||||
msgid "expired"
|
||||
msgstr "expirada"
|
||||
|
||||
#: views.py:171
|
||||
#: views.py:170
|
||||
msgid "length"
|
||||
msgstr "tamaño"
|
||||
|
||||
#: views.py:175
|
||||
#: views.py:174
|
||||
msgid "revoked"
|
||||
msgstr "revocada"
|
||||
|
||||
#: views.py:180
|
||||
#: views.py:179
|
||||
msgid "Identifies"
|
||||
msgstr "Identidades"
|
||||
|
||||
#: conf/settings.py:15
|
||||
msgid "List of keyservers to be queried for unknown keys."
|
||||
msgstr ""
|
||||
"Lista de servidores de llaves a ser utilizados para buscar llaves "
|
||||
"desconocidas."
|
||||
msgstr "Lista de servidores de llaves a ser utilizados para buscar llaves desconocidas."
|
||||
|
||||
#: conf/settings.py:16
|
||||
msgid "Home directory used to store keys as well as configuration files."
|
||||
msgstr ""
|
||||
"Directorio de inicio utilizado para almacenar las llaves, así como los "
|
||||
"archivos de configuración."
|
||||
msgstr "Directorio de inicio utilizado para almacenar las llaves, así como los archivos de configuración."
|
||||
|
||||
Binary file not shown.
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-03-21 13:33+0000\n"
|
||||
"Last-Translator: Pierpaolo Baldan <pierpaolo.baldan@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.net/projects/p/mayan-edms/language/it/)\n"
|
||||
@@ -19,11 +19,11 @@ msgstr ""
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: __init__.py:14 views.py:67
|
||||
#: __init__.py:14 views.py:66
|
||||
msgid "private keys"
|
||||
msgstr "Chiave privata"
|
||||
|
||||
#: __init__.py:15 views.py:70
|
||||
#: __init__.py:15 views.py:69
|
||||
msgid "public keys"
|
||||
msgstr "Chiave pubblica"
|
||||
|
||||
@@ -43,59 +43,59 @@ msgstr "import"
|
||||
msgid "key management"
|
||||
msgstr "gestione della firma"
|
||||
|
||||
#: api.py:19
|
||||
#: api.py:24
|
||||
msgid "Public"
|
||||
msgstr "Pubblica"
|
||||
|
||||
#: api.py:20
|
||||
#: api.py:25
|
||||
msgid "Secret"
|
||||
msgstr "Segreta"
|
||||
|
||||
#: api.py:28 api.py:33
|
||||
#: api.py:33 api.py:38
|
||||
msgid "RSA"
|
||||
msgstr "RSA"
|
||||
|
||||
#: api.py:29
|
||||
#: api.py:34
|
||||
msgid "DSA"
|
||||
msgstr "DSA"
|
||||
|
||||
#: api.py:34
|
||||
#: api.py:39
|
||||
msgid "Elgamal"
|
||||
msgstr "Elgamal"
|
||||
|
||||
#: api.py:48
|
||||
#: api.py:53
|
||||
msgid "Bad signature."
|
||||
msgstr "Firma cattiva."
|
||||
|
||||
#: api.py:52
|
||||
#: api.py:57
|
||||
msgid "Document not signed or invalid signature."
|
||||
msgstr "Documento non firmato o firma invalida."
|
||||
|
||||
#: api.py:56
|
||||
#: api.py:61
|
||||
msgid "Signature error."
|
||||
msgstr "Errore di firma"
|
||||
|
||||
#: api.py:60
|
||||
#: api.py:65
|
||||
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"
|
||||
|
||||
#: api.py:64
|
||||
#: api.py:69
|
||||
msgid "Document is signed, and signature is good."
|
||||
msgstr "Documento firmato e firma è buona."
|
||||
|
||||
#: api.py:68
|
||||
#: api.py:73
|
||||
msgid "Document is signed with a valid signature."
|
||||
msgstr "Il documento è firmato con una firma valida."
|
||||
|
||||
#: api.py:141
|
||||
#: api.py:146
|
||||
msgid "unknown"
|
||||
msgstr "sconosciuto"
|
||||
|
||||
#: forms.py:8
|
||||
#: forms.py:7
|
||||
msgid "Term"
|
||||
msgstr "Scadenza"
|
||||
|
||||
#: forms.py:9
|
||||
#: forms.py:8
|
||||
msgid "Name, e-mail, key ID or key fingerprint to look for."
|
||||
msgstr "Nome, e-mail,key ID , impronte digitali per cercare"
|
||||
|
||||
@@ -119,43 +119,43 @@ msgstr "Interroga l'autorità per le chiavi"
|
||||
msgid "Import keys from keyservers"
|
||||
msgstr "Importa le chiavi dal server di chiavi"
|
||||
|
||||
#: views.py:38
|
||||
#: views.py:37
|
||||
#, python-format
|
||||
msgid "Key: %s, imported successfully."
|
||||
msgstr "Chiave: %s, importata con successo."
|
||||
|
||||
#: views.py:43
|
||||
#: views.py:42
|
||||
#, python-format
|
||||
msgid "Unable to import key id: %(key_id)s; %(error)s"
|
||||
msgstr "Impossibile importare chiave id: %(key_id)s ; %(error)s "
|
||||
|
||||
#: views.py:52
|
||||
#: views.py:51
|
||||
msgid "Import key"
|
||||
msgstr "Importa chiave"
|
||||
|
||||
#: views.py:53
|
||||
#: views.py:52
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to import key id: %s?"
|
||||
msgstr "Sei sicuro di voler importare la chiave id: %s?"
|
||||
|
||||
#: views.py:78
|
||||
#: views.py:77
|
||||
msgid "Key ID"
|
||||
msgstr "chiave ID"
|
||||
|
||||
#: views.py:82
|
||||
#: views.py:81
|
||||
msgid "Owner"
|
||||
msgstr "Proprietario"
|
||||
|
||||
#: views.py:102
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "Key: %s, deleted successfully."
|
||||
msgstr "chiave: %s, cancellata con successo."
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:108
|
||||
msgid "Delete key"
|
||||
msgstr "Cancella chiave"
|
||||
|
||||
#: views.py:111
|
||||
#: views.py:110
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Are you sure you wish to delete key: %s? If you try to delete a public key "
|
||||
@@ -163,47 +163,47 @@ msgid ""
|
||||
"well."
|
||||
msgstr "Sei sicuro di voler cancellare la chiave: %s? Se provi a cancellare una chiave pubblica che è parte di una coppia publica/privata anche la chiave privata sarà cancellata"
|
||||
|
||||
#: views.py:129
|
||||
#: views.py:128
|
||||
msgid "Query key server"
|
||||
msgstr "Interroga il server delle chiavi"
|
||||
|
||||
#: views.py:142
|
||||
#: views.py:141
|
||||
msgid "results"
|
||||
msgstr "risultati"
|
||||
|
||||
#: views.py:147
|
||||
#: views.py:146
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:150
|
||||
msgid "type"
|
||||
msgstr "tipo"
|
||||
|
||||
#: views.py:155
|
||||
#: views.py:154
|
||||
msgid "creation date"
|
||||
msgstr "data di crezione"
|
||||
|
||||
#: views.py:159
|
||||
#: views.py:158
|
||||
msgid "disabled"
|
||||
msgstr "disabilitata"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:162
|
||||
msgid "expiration date"
|
||||
msgstr "data scadenza"
|
||||
|
||||
#: views.py:167
|
||||
#: views.py:166
|
||||
msgid "expired"
|
||||
msgstr "scaduta"
|
||||
|
||||
#: views.py:171
|
||||
#: views.py:170
|
||||
msgid "length"
|
||||
msgstr "lunghezza"
|
||||
|
||||
#: views.py:175
|
||||
#: views.py:174
|
||||
msgid "revoked"
|
||||
msgstr "revocata"
|
||||
|
||||
#: views.py:180
|
||||
#: views.py:179
|
||||
msgid "Identifies"
|
||||
msgstr "Identifica"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-02-21 20:34+0000\n"
|
||||
"Last-Translator: mic <winterfall24@gmail.com>\n"
|
||||
"Language-Team: Polish (http://www.transifex.net/projects/p/mayan-edms/language/pl/)\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"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"
|
||||
|
||||
#: __init__.py:14 views.py:67
|
||||
#: __init__.py:14 views.py:66
|
||||
msgid "private keys"
|
||||
msgstr "private keys"
|
||||
|
||||
#: __init__.py:15 views.py:70
|
||||
#: __init__.py:15 views.py:69
|
||||
msgid "public keys"
|
||||
msgstr "public keys"
|
||||
|
||||
@@ -42,59 +42,59 @@ msgstr "import"
|
||||
msgid "key management"
|
||||
msgstr "zarządzanie kluczami"
|
||||
|
||||
#: api.py:19
|
||||
#: api.py:24
|
||||
msgid "Public"
|
||||
msgstr "Publiczny"
|
||||
|
||||
#: api.py:20
|
||||
#: api.py:25
|
||||
msgid "Secret"
|
||||
msgstr "Secret"
|
||||
|
||||
#: api.py:28 api.py:33
|
||||
#: api.py:33 api.py:38
|
||||
msgid "RSA"
|
||||
msgstr "RSA"
|
||||
|
||||
#: api.py:29
|
||||
#: api.py:34
|
||||
msgid "DSA"
|
||||
msgstr "DSA"
|
||||
|
||||
#: api.py:34
|
||||
#: api.py:39
|
||||
msgid "Elgamal"
|
||||
msgstr "Elgamal"
|
||||
|
||||
#: api.py:48
|
||||
#: api.py:53
|
||||
msgid "Bad signature."
|
||||
msgstr "Zły podpis."
|
||||
|
||||
#: api.py:52
|
||||
#: api.py:57
|
||||
msgid "Document not signed or invalid signature."
|
||||
msgstr "Dokumentu nie podpisany lub nieprawidłowy podpis."
|
||||
|
||||
#: api.py:56
|
||||
#: api.py:61
|
||||
msgid "Signature error."
|
||||
msgstr "Błąd podpisu."
|
||||
|
||||
#: api.py:60
|
||||
#: api.py:65
|
||||
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."
|
||||
|
||||
#: api.py:64
|
||||
#: api.py:69
|
||||
msgid "Document is signed, and signature is good."
|
||||
msgstr "Dokument został podpisany, a podpis jest dobry."
|
||||
|
||||
#: api.py:68
|
||||
#: api.py:73
|
||||
msgid "Document is signed with a valid signature."
|
||||
msgstr "Dokument podpisany za pomocą ważnego podpisu."
|
||||
|
||||
#: api.py:141
|
||||
#: api.py:146
|
||||
msgid "unknown"
|
||||
msgstr "nieznany"
|
||||
|
||||
#: forms.py:8
|
||||
#: forms.py:7
|
||||
msgid "Term"
|
||||
msgstr "Term"
|
||||
|
||||
#: forms.py:9
|
||||
#: forms.py:8
|
||||
msgid "Name, e-mail, key ID or key fingerprint to look for."
|
||||
msgstr "Imię i nazwisko, e-mail, key ID lub key fingerprint kluc szukać."
|
||||
|
||||
@@ -118,43 +118,43 @@ msgstr "Query keyservers"
|
||||
msgid "Import keys from keyservers"
|
||||
msgstr "Import keys from keyservers"
|
||||
|
||||
#: views.py:38
|
||||
#: views.py:37
|
||||
#, python-format
|
||||
msgid "Key: %s, imported successfully."
|
||||
msgstr "Klucz:%s, zaimportowany."
|
||||
|
||||
#: views.py:43
|
||||
#: views.py:42
|
||||
#, python-format
|
||||
msgid "Unable to import key id: %(key_id)s; %(error)s"
|
||||
msgstr "Nie można zaimportować ID klucza: %(key_id)s ; %(error)s "
|
||||
|
||||
#: views.py:52
|
||||
#: views.py:51
|
||||
msgid "Import key"
|
||||
msgstr "Importuj klucz"
|
||||
|
||||
#: views.py:53
|
||||
#: views.py:52
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to import key id: %s?"
|
||||
msgstr "Czy na pewno chcesz importować ID klucza:%s?"
|
||||
|
||||
#: views.py:78
|
||||
#: views.py:77
|
||||
msgid "Key ID"
|
||||
msgstr "Key ID"
|
||||
|
||||
#: views.py:82
|
||||
#: views.py:81
|
||||
msgid "Owner"
|
||||
msgstr "Właściciel"
|
||||
|
||||
#: views.py:102
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "Key: %s, deleted successfully."
|
||||
msgstr "Klucz:%s, został usunięty."
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:108
|
||||
msgid "Delete key"
|
||||
msgstr "Usuń klucz"
|
||||
|
||||
#: views.py:111
|
||||
#: views.py:110
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Are you sure you wish to delete key: %s? If you try to delete a public key "
|
||||
@@ -162,47 +162,47 @@ msgid ""
|
||||
"well."
|
||||
msgstr "Czy na pewno chcesz usunąć klucz:%s? Jeśli próbujesz usunąć klucza publiczny, który jest częścią pary publiczny / prywatny klucz prywatny zostanie usunięty również."
|
||||
|
||||
#: views.py:129
|
||||
#: views.py:128
|
||||
msgid "Query key server"
|
||||
msgstr "Query key server"
|
||||
|
||||
#: views.py:142
|
||||
#: views.py:141
|
||||
msgid "results"
|
||||
msgstr "wyniki"
|
||||
|
||||
#: views.py:147
|
||||
#: views.py:146
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:150
|
||||
msgid "type"
|
||||
msgstr "typ"
|
||||
|
||||
#: views.py:155
|
||||
#: views.py:154
|
||||
msgid "creation date"
|
||||
msgstr "creation date"
|
||||
|
||||
#: views.py:159
|
||||
#: views.py:158
|
||||
msgid "disabled"
|
||||
msgstr "wyłączone"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:162
|
||||
msgid "expiration date"
|
||||
msgstr "data ważności"
|
||||
|
||||
#: views.py:167
|
||||
#: views.py:166
|
||||
msgid "expired"
|
||||
msgstr "wygasł"
|
||||
|
||||
#: views.py:171
|
||||
#: views.py:170
|
||||
msgid "length"
|
||||
msgstr "długość"
|
||||
|
||||
#: views.py:175
|
||||
#: views.py:174
|
||||
msgid "revoked"
|
||||
msgstr "odwołany"
|
||||
|
||||
#: views.py:180
|
||||
#: views.py:179
|
||||
msgid "Identifies"
|
||||
msgstr "Identyfikuje"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,29 +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:
|
||||
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:20+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.net/projects/p/mayan-edms/"
|
||||
"team/pt/)\n"
|
||||
"Language: pt\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:14 views.py:67
|
||||
#: __init__.py:14 views.py:66
|
||||
msgid "private keys"
|
||||
msgstr "chaves privadas"
|
||||
|
||||
#: __init__.py:15 views.py:70
|
||||
#: __init__.py:15 views.py:69
|
||||
msgid "public keys"
|
||||
msgstr "chaves públicas"
|
||||
|
||||
@@ -43,59 +42,59 @@ msgstr ""
|
||||
msgid "key management"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:19
|
||||
#: api.py:24
|
||||
msgid "Public"
|
||||
msgstr "Público"
|
||||
|
||||
#: api.py:20
|
||||
#: api.py:25
|
||||
msgid "Secret"
|
||||
msgstr "Segredo"
|
||||
|
||||
#: api.py:28 api.py:33
|
||||
#: api.py:33 api.py:38
|
||||
msgid "RSA"
|
||||
msgstr "RSA"
|
||||
|
||||
#: api.py:29
|
||||
#: api.py:34
|
||||
msgid "DSA"
|
||||
msgstr "DSA"
|
||||
|
||||
#: api.py:34
|
||||
#: api.py:39
|
||||
msgid "Elgamal"
|
||||
msgstr "Elgamal"
|
||||
|
||||
#: api.py:48
|
||||
#: api.py:53
|
||||
msgid "Bad signature."
|
||||
msgstr "Assinatura ruim."
|
||||
|
||||
#: api.py:52
|
||||
#: api.py:57
|
||||
msgid "Document not signed or invalid signature."
|
||||
msgstr "Documento não assinado ou inválido assinatura."
|
||||
|
||||
#: api.py:56
|
||||
#: api.py:61
|
||||
msgid "Signature error."
|
||||
msgstr "Erro de assinatura."
|
||||
|
||||
#: api.py:60
|
||||
#: api.py:65
|
||||
msgid "Document is signed but no public key is available for verification."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:64
|
||||
#: api.py:69
|
||||
msgid "Document is signed, and signature is good."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:68
|
||||
#: api.py:73
|
||||
msgid "Document is signed with a valid signature."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:141
|
||||
#: api.py:146
|
||||
msgid "unknown"
|
||||
msgstr "desconhecido"
|
||||
|
||||
#: forms.py:8
|
||||
#: forms.py:7
|
||||
msgid "Term"
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:9
|
||||
#: forms.py:8
|
||||
msgid "Name, e-mail, key ID or key fingerprint to look for."
|
||||
msgstr ""
|
||||
|
||||
@@ -119,43 +118,43 @@ msgstr "Consulta servidores de chaves"
|
||||
msgid "Import keys from keyservers"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:38
|
||||
#: views.py:37
|
||||
#, python-format
|
||||
msgid "Key: %s, imported successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:43
|
||||
#: views.py:42
|
||||
#, python-format
|
||||
msgid "Unable to import key id: %(key_id)s; %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:52
|
||||
#: views.py:51
|
||||
msgid "Import key"
|
||||
msgstr "Importar chave"
|
||||
|
||||
#: views.py:53
|
||||
#: views.py:52
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to import key id: %s?"
|
||||
msgstr "Você tem certeza que deseja importar chave: %s?"
|
||||
|
||||
#: views.py:78
|
||||
#: views.py:77
|
||||
msgid "Key ID"
|
||||
msgstr "ID da chave"
|
||||
|
||||
#: views.py:82
|
||||
#: views.py:81
|
||||
msgid "Owner"
|
||||
msgstr "Proprietário"
|
||||
|
||||
#: views.py:102
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "Key: %s, deleted successfully."
|
||||
msgstr "Chave: %s, apagado com sucesso."
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:108
|
||||
msgid "Delete key"
|
||||
msgstr "Excluir chave"
|
||||
|
||||
#: views.py:111
|
||||
#: views.py:110
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Are you sure you wish to delete key: %s? If you try to delete a public key "
|
||||
@@ -163,47 +162,47 @@ msgid ""
|
||||
"well."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:129
|
||||
#: views.py:128
|
||||
msgid "Query key server"
|
||||
msgstr "Consultar servidor de chaves"
|
||||
|
||||
#: views.py:142
|
||||
#: views.py:141
|
||||
msgid "results"
|
||||
msgstr "resultados"
|
||||
|
||||
#: views.py:147
|
||||
#: views.py:146
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:150
|
||||
msgid "type"
|
||||
msgstr "tipo"
|
||||
|
||||
#: views.py:155
|
||||
#: views.py:154
|
||||
msgid "creation date"
|
||||
msgstr "data de criação"
|
||||
|
||||
#: views.py:159
|
||||
#: views.py:158
|
||||
msgid "disabled"
|
||||
msgstr "desativada"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:162
|
||||
msgid "expiration date"
|
||||
msgstr "data de validade"
|
||||
|
||||
#: views.py:167
|
||||
#: views.py:166
|
||||
msgid "expired"
|
||||
msgstr "expirado"
|
||||
|
||||
#: views.py:171
|
||||
#: views.py:170
|
||||
msgid "length"
|
||||
msgstr "comprimento"
|
||||
|
||||
#: views.py:175
|
||||
#: views.py:174
|
||||
msgid "revoked"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:180
|
||||
#: views.py:179
|
||||
msgid "Identifies"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,30 +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:
|
||||
# Sergey Glita <gsv70@mail.ru>, 2011.
|
||||
# Sergey Glita <gsv70@mail.ru>, 2011, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:20+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.net/projects/p/mayan-edms/team/"
|
||||
"ru/)\n"
|
||||
"Language: ru\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:09-0400\n"
|
||||
"PO-Revision-Date: 2012-02-03 05:10+0000\n"
|
||||
"Last-Translator: Sergey Glita <gsv70@mail.ru>\n"
|
||||
"Language-Team: Russian (http://www.transifex.net/projects/p/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=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: ru\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"
|
||||
|
||||
#: __init__.py:14 views.py:67
|
||||
#: __init__.py:14 views.py:66
|
||||
msgid "private keys"
|
||||
msgstr "секретные ключи"
|
||||
|
||||
#: __init__.py:15 views.py:70
|
||||
#: __init__.py:15 views.py:69
|
||||
msgid "public keys"
|
||||
msgstr "открытые ключи"
|
||||
|
||||
@@ -44,65 +42,65 @@ msgstr "получить"
|
||||
msgid "key management"
|
||||
msgstr "управление ключами"
|
||||
|
||||
#: api.py:19
|
||||
#: api.py:24
|
||||
msgid "Public"
|
||||
msgstr "Открытый"
|
||||
|
||||
#: api.py:20
|
||||
#: api.py:25
|
||||
msgid "Secret"
|
||||
msgstr "секретный"
|
||||
|
||||
#: api.py:28 api.py:33
|
||||
#: api.py:33 api.py:38
|
||||
msgid "RSA"
|
||||
msgstr "RSA"
|
||||
|
||||
#: api.py:29
|
||||
#: api.py:34
|
||||
msgid "DSA"
|
||||
msgstr "DSA"
|
||||
|
||||
#: api.py:34
|
||||
#: api.py:39
|
||||
msgid "Elgamal"
|
||||
msgstr "Elgamal"
|
||||
|
||||
#: api.py:48
|
||||
#: api.py:53
|
||||
msgid "Bad signature."
|
||||
msgstr "Неверная подпись"
|
||||
|
||||
#: api.py:52
|
||||
#: api.py:57
|
||||
msgid "Document not signed or invalid signature."
|
||||
msgstr "Документ не подписан, либо подпись неверна."
|
||||
|
||||
#: api.py:56
|
||||
#: api.py:61
|
||||
msgid "Signature error."
|
||||
msgstr "Ошибка подписи."
|
||||
|
||||
#: api.py:60
|
||||
#: api.py:65
|
||||
msgid "Document is signed but no public key is available for verification."
|
||||
msgstr "Документ подписан, но нет открытого ключа для проверки."
|
||||
|
||||
#: api.py:64
|
||||
#: api.py:69
|
||||
msgid "Document is signed, and signature is good."
|
||||
msgstr "Документ подписан и подпись верна."
|
||||
|
||||
#: api.py:68
|
||||
#: api.py:73
|
||||
msgid "Document is signed with a valid signature."
|
||||
msgstr "Документ подписан допустимой подписью."
|
||||
|
||||
#: api.py:141
|
||||
#: api.py:146
|
||||
msgid "unknown"
|
||||
msgstr "неизвестно"
|
||||
|
||||
#: forms.py:8
|
||||
#: forms.py:7
|
||||
msgid "Term"
|
||||
msgstr "Term"
|
||||
|
||||
#: forms.py:9
|
||||
#: forms.py:8
|
||||
msgid "Name, e-mail, key ID or key fingerprint to look for."
|
||||
msgstr "Имя, e-mail, ID ключа или отпечаток для поиска."
|
||||
|
||||
#: permissions.py:7
|
||||
msgid "Key management"
|
||||
msgstr ""
|
||||
msgstr "Управление ключами"
|
||||
|
||||
#: permissions.py:9
|
||||
msgid "View keys"
|
||||
@@ -118,95 +116,93 @@ msgstr "Запрос к серверам ключей"
|
||||
|
||||
#: permissions.py:12
|
||||
msgid "Import keys from keyservers"
|
||||
msgstr ""
|
||||
msgstr "Импортировать ключи с серверов ключей "
|
||||
|
||||
#: views.py:38
|
||||
#: views.py:37
|
||||
#, python-format
|
||||
msgid "Key: %s, imported successfully."
|
||||
msgstr "Ключ %s, получен."
|
||||
|
||||
#: views.py:43
|
||||
#: views.py:42
|
||||
#, python-format
|
||||
msgid "Unable to import key id: %(key_id)s; %(error)s"
|
||||
msgstr ""
|
||||
msgstr "Невозможно импортировать ключ %(key_id)s; %(error)s"
|
||||
|
||||
#: views.py:52
|
||||
#: views.py:51
|
||||
msgid "Import key"
|
||||
msgstr "Получить ключ"
|
||||
|
||||
#: views.py:53
|
||||
#: views.py:52
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to import key id: %s?"
|
||||
msgstr "Хотите получить ключ id: %s?"
|
||||
|
||||
#: views.py:78
|
||||
#: views.py:77
|
||||
msgid "Key ID"
|
||||
msgstr "ID ключа"
|
||||
|
||||
#: views.py:82
|
||||
#: views.py:81
|
||||
msgid "Owner"
|
||||
msgstr "Владелец"
|
||||
|
||||
#: views.py:102
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "Key: %s, deleted successfully."
|
||||
msgstr "Ключ %s удалён."
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:108
|
||||
msgid "Delete key"
|
||||
msgstr "Удалить ключ."
|
||||
|
||||
#: views.py:111
|
||||
#: views.py:110
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
"Вы уверены, что хотите удалить ключ %s? Если вы удалите открытый ключ то "
|
||||
"соответствующий ему закрытый ключ тоже будет удалён."
|
||||
msgstr "Вы уверены, что хотите удалить ключ %s? Если вы удалите открытый ключ то соответствующий ему закрытый ключ тоже будет удалён."
|
||||
|
||||
#: views.py:129
|
||||
#: views.py:128
|
||||
msgid "Query key server"
|
||||
msgstr "Запросить сервер ключей"
|
||||
|
||||
#: views.py:142
|
||||
#: views.py:141
|
||||
msgid "results"
|
||||
msgstr "результаты"
|
||||
|
||||
#: views.py:147
|
||||
#: views.py:146
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:150
|
||||
msgid "type"
|
||||
msgstr "тип"
|
||||
|
||||
#: views.py:155
|
||||
#: views.py:154
|
||||
msgid "creation date"
|
||||
msgstr "дата создания"
|
||||
|
||||
#: views.py:159
|
||||
#: views.py:158
|
||||
msgid "disabled"
|
||||
msgstr "запрещено"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:162
|
||||
msgid "expiration date"
|
||||
msgstr "дата окончания"
|
||||
|
||||
#: views.py:167
|
||||
#: views.py:166
|
||||
msgid "expired"
|
||||
msgstr "истекло"
|
||||
|
||||
#: views.py:171
|
||||
#: views.py:170
|
||||
msgid "length"
|
||||
msgstr "длина"
|
||||
|
||||
#: views.py:175
|
||||
#: views.py:174
|
||||
msgid "revoked"
|
||||
msgstr "отозван"
|
||||
|
||||
#: views.py:180
|
||||
#: views.py:179
|
||||
msgid "Identifies"
|
||||
msgstr "Identifies"
|
||||
|
||||
@@ -216,4 +212,4 @@ msgstr "Список ключевых серверов для запроса н
|
||||
|
||||
#: conf/settings.py:16
|
||||
msgid "Home directory used to store keys as well as configuration files."
|
||||
msgstr ""
|
||||
msgstr "Домашний каталог, используемый для хранения ключей, а также файлов конфигурации."
|
||||
|
||||
BIN
apps/document_comments/locale/de_DE/LC_MESSAGES/django.mo
Normal file
BIN
apps/document_comments/locale/de_DE/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
97
apps/document_comments/locale/de_DE/LC_MESSAGES/django.po
Normal file
97
apps/document_comments/locale/de_DE/LC_MESSAGES/django.po
Normal file
@@ -0,0 +1,97 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# <tetja.rediske@googlemail.com>, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-04-20 18:09+0000\n"
|
||||
"Last-Translator: tetjarediske <tetja.rediske@googlemail.com>\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:19 __init__.py:20
|
||||
msgid "delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: __init__.py:21
|
||||
msgid "add comment"
|
||||
msgstr "Kommetar hinzufügen"
|
||||
|
||||
#: __init__.py:22
|
||||
msgid "comments"
|
||||
msgstr "Kommentare"
|
||||
|
||||
#: __init__.py:26
|
||||
msgid "date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: __init__.py:30
|
||||
msgid "user"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#: __init__.py:34
|
||||
msgid "comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#: permissions.py:7
|
||||
msgid "Comments"
|
||||
msgstr "Kommetare"
|
||||
|
||||
#: permissions.py:9
|
||||
msgid "Create new comments"
|
||||
msgstr "Kommentare erstellen"
|
||||
|
||||
#: permissions.py:10
|
||||
msgid "Delete comments"
|
||||
msgstr "Kommentare löschen"
|
||||
|
||||
#: permissions.py:11
|
||||
msgid "View comments"
|
||||
msgstr "Kommetare ansehen"
|
||||
|
||||
#: views.py:36
|
||||
msgid "Must provide at least one comment."
|
||||
msgstr "Es muss mindestens ein Kommentar angegeben werden."
|
||||
|
||||
#: views.py:46
|
||||
#, python-format
|
||||
msgid "Comment \"%s\" deleted successfully."
|
||||
msgstr "Kommentar %s erfolgreich gelöscht."
|
||||
|
||||
#: views.py:48
|
||||
#, python-format
|
||||
msgid "Error deleting comment \"%(comment)s\": %(error)s"
|
||||
msgstr "Fehler beim löschen von Kommentar \"%(comment)s\": %(error)s"
|
||||
|
||||
#: views.py:63
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to delete the comment: %s?"
|
||||
msgstr "Sind Sie sicher, dass Sie diesen Kommentar löschen möchten: %s?"
|
||||
|
||||
#: views.py:65
|
||||
#, python-format
|
||||
msgid "Are you sure you wish to delete the comments: %s?"
|
||||
msgstr "Sind Sie sicher, dass Sie diese Kommentare löschen möchten: %s?"
|
||||
|
||||
#: views.py:99
|
||||
msgid "Comment added successfully."
|
||||
msgstr "Kommentar erfolgreich hinzugefügt."
|
||||
|
||||
#: views.py:106
|
||||
#, python-format
|
||||
msgid "Add comment to document: %s"
|
||||
msgstr "Kommentar zu Dokument hinzufügen: %s"
|
||||
|
||||
#: views.py:126
|
||||
#, python-format
|
||||
msgid "comments: %s"
|
||||
msgstr "Kommentare: %s"
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 19:02-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
Binary file not shown.
@@ -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: 2012-02-12 15:20-0400\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:20+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/"
|
||||
"mayan-edms/team/es/)\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:19 __init__.py:20
|
||||
|
||||
Binary file not shown.
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:20+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.net/projects/p/mayan-edms/language/it/)\n"
|
||||
|
||||
Binary file not shown.
@@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-21 14:50+0000\n"
|
||||
"Last-Translator: mic <winterfall24@gmail.com>\n"
|
||||
"Language-Team: Polish (http://www.transifex.net/projects/p/mayan-edms/language/pl/)\n"
|
||||
|
||||
Binary file not shown.
@@ -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:
|
||||
# <dev.emerson@gmail.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:20+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.net/projects/p/mayan-edms/"
|
||||
"team/pt/)\n"
|
||||
"Language: pt\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:19 __init__.py:20
|
||||
|
||||
Binary file not shown.
@@ -1,24 +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:
|
||||
# Sergey Glita <gsv70@mail.ru>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:20+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.net/projects/p/mayan-edms/team/"
|
||||
"ru/)\n"
|
||||
"Language: ru\n"
|
||||
"Language-Team: Russian (http://www.transifex.net/projects/p/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=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: ru\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"
|
||||
|
||||
#: __init__.py:19 __init__.py:20
|
||||
msgid "delete"
|
||||
|
||||
BIN
apps/document_indexing/locale/de_DE/LC_MESSAGES/django.mo
Normal file
BIN
apps/document_indexing/locale/de_DE/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
364
apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po
Normal file
364
apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po
Normal file
@@ -0,0 +1,364 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# <tilmann.sittig@web.de>, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-06-12 09:24+0000\n"
|
||||
"Last-Translator: tilmannsittig <tilmann.sittig@web.de>\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:31 __init__.py:45 __init__.py:47 models.py:42 views.py:38
|
||||
#: views.py:283
|
||||
msgid "indexes"
|
||||
msgstr "indices"
|
||||
|
||||
#: __init__.py:32 __init__.py:42
|
||||
msgid "index list"
|
||||
msgstr "Index-Liste"
|
||||
|
||||
#: __init__.py:33 views.py:77
|
||||
msgid "create index"
|
||||
msgstr "Index erstellen"
|
||||
|
||||
#: __init__.py:34 __init__.py:39
|
||||
msgid "edit"
|
||||
msgstr "bearbeiten"
|
||||
|
||||
#: __init__.py:35 __init__.py:40
|
||||
msgid "delete"
|
||||
msgstr "löschen"
|
||||
|
||||
#: __init__.py:36
|
||||
msgid "tree template"
|
||||
msgstr "Baum-Vorlage"
|
||||
|
||||
#: __init__.py:38
|
||||
msgid "new child node"
|
||||
msgstr "Neuen Kind-Knoten"
|
||||
|
||||
#: __init__.py:44
|
||||
msgid "go up one level"
|
||||
msgstr "Gehe eine Ebene höher"
|
||||
|
||||
#: __init__.py:49
|
||||
msgid "rebuild indexes"
|
||||
msgstr "Indices neu erstellen"
|
||||
|
||||
#: __init__.py:49
|
||||
msgid "Deletes and creates from scratch all the document indexes."
|
||||
msgstr "Löscht und erstellt alle Dokumenten-Indices neu."
|
||||
|
||||
#: __init__.py:51
|
||||
msgid "Indexes"
|
||||
msgstr "Indices"
|
||||
|
||||
#: api.py:69
|
||||
#, python-format
|
||||
msgid "Maximum suffix (%s) count reached."
|
||||
msgstr "Maximale Suffix (%s) Anzahl ist erreicht."
|
||||
|
||||
#: api.py:83
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Error in document indexing update expression: %(expression)s; %(exception)s"
|
||||
msgstr "Fehler Dokument-Index-Updateausdruck: %(expression)s; %(exception)s"
|
||||
|
||||
#: api.py:92 api.py:107
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Error updating document index, expression: %(expression)s; %(exception)s"
|
||||
msgstr "Fehler beim Aktualisieren des Dokumenten-Index, Ausdruck: %(expression)s; %(exception)s"
|
||||
|
||||
#: api.py:149
|
||||
#, python-format
|
||||
msgid "Unable to delete document indexing node; %s"
|
||||
msgstr "Dokumenten-Index-Knoten kann nicht gelöscht werden: %s"
|
||||
|
||||
#: filesystem.py:51
|
||||
#, python-format
|
||||
msgid "Unable to create indexing directory; %s"
|
||||
msgstr "Dokumenten-Index-Verzeichnis kann nicht erstellt werden: %s"
|
||||
|
||||
#: filesystem.py:69
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Unable to create symbolic link, file exists and could not be deleted: "
|
||||
"%(filepath)s; %(exc)s"
|
||||
msgstr "Erstellen der symb. Verknüpfung nicht möglich, Datei existiert und kann nicht gelöscht werden: %(filepath)s; %(exc)s"
|
||||
|
||||
#: filesystem.py:71
|
||||
#, python-format
|
||||
msgid "Unable to create symbolic link: %(filepath)s; %(exc)s"
|
||||
msgstr "Erstellen der symb. Verknüpfung nicht möglich: %(filepath)s; %(exc)s"
|
||||
|
||||
#: filesystem.py:84
|
||||
#, python-format
|
||||
msgid "Unable to delete document symbolic link; %s"
|
||||
msgstr "Löschen der symb. Verknüpfung nicht möglich: %s"
|
||||
|
||||
#: filesystem.py:96
|
||||
#, python-format
|
||||
msgid "Unable to delete indexing directory; %s"
|
||||
msgstr "Löschen des Index-Verzeichnisses nicht möglich: %s"
|
||||
|
||||
#: models.py:13
|
||||
#, python-format
|
||||
msgid "Available functions: %s"
|
||||
msgstr "Verfügbare Funktionen: %s"
|
||||
|
||||
#: models.py:17 views.py:42
|
||||
msgid "name"
|
||||
msgstr "Name"
|
||||
|
||||
#: models.py:17
|
||||
msgid "Internal name used to reference this index."
|
||||
msgstr "Interner Name um den Index zu identifizieren."
|
||||
|
||||
#: models.py:18 views.py:43
|
||||
msgid "title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: models.py:18
|
||||
msgid "The name that will be visible to users."
|
||||
msgstr "Den Benutzern angezeigter Name."
|
||||
|
||||
#: models.py:19 models.py:50 views.py:44 views.py:168
|
||||
msgid "enabled"
|
||||
msgstr "aktiviert"
|
||||
|
||||
#: models.py:19
|
||||
msgid ""
|
||||
"Causes this index to be visible and updated when document data changes."
|
||||
msgstr "Sorgt dafür, dass der Index sichtbar ist und aktualisiert wird, wenn sich die Inhalte der Dokumente ändern."
|
||||
|
||||
#: models.py:41 models.py:47 views.py:104 views.py:135 views.py:161
|
||||
#: views.py:198 views.py:228 views.py:268
|
||||
msgid "index"
|
||||
msgstr "Index"
|
||||
|
||||
#: models.py:48
|
||||
msgid "indexing expression"
|
||||
msgstr "Indizierungs-Ausdruck"
|
||||
|
||||
#: models.py:48
|
||||
msgid "Enter a python string expression to be evaluated."
|
||||
msgstr "Geben Sie einen python-String-Ausdruck an, der ausgewertet werden soll."
|
||||
|
||||
#: models.py:50
|
||||
msgid "Causes this node to be visible and updated when document data changes."
|
||||
msgstr "Sorgt dafür, dass dieser Knoten sichtbar ist und aktualisiert wird, wenn sich die Inhalte der Dokumente ändern."
|
||||
|
||||
#: models.py:51
|
||||
msgid "link documents"
|
||||
msgstr "Dokumente verknüpfen"
|
||||
|
||||
#: models.py:51
|
||||
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 der Knoten als Ordner für Dokumente und nicht als Eltern-Knoten für weitere Kind-Knotenpunkte fungieren soll."
|
||||
|
||||
#: models.py:57 models.py:63
|
||||
msgid "index template node"
|
||||
msgstr "Index-Vorlagen-Knotenpunkt"
|
||||
|
||||
#: models.py:58
|
||||
msgid "indexes template nodes"
|
||||
msgstr "Indices-Vorlagen-Knotenpunkte"
|
||||
|
||||
#: models.py:64
|
||||
msgid "value"
|
||||
msgstr "Wert"
|
||||
|
||||
#: models.py:65
|
||||
msgid "documents"
|
||||
msgstr "Dokumente"
|
||||
|
||||
#: models.py:75
|
||||
msgid "index instance node"
|
||||
msgstr "Index-Instanz-Knotenpunkt"
|
||||
|
||||
#: models.py:76
|
||||
msgid "indexes instance nodes"
|
||||
msgstr "Indices-Instanz-Knotenpunkte"
|
||||
|
||||
#: models.py:80
|
||||
msgid "index instance"
|
||||
msgstr "Index-Instanz"
|
||||
|
||||
#: models.py:81
|
||||
msgid "document"
|
||||
msgstr "Dokument"
|
||||
|
||||
#: models.py:88
|
||||
msgid "document rename count"
|
||||
msgstr "Zähler für Dokument-Umbenennung"
|
||||
|
||||
#: models.py:89
|
||||
msgid "documents rename count"
|
||||
msgstr "Zähler für Dokumenten-Umbenennung"
|
||||
|
||||
#: permissions.py:7
|
||||
msgid "Indexing"
|
||||
msgstr "Indizieren"
|
||||
|
||||
#: permissions.py:9
|
||||
msgid "Configure document indexes"
|
||||
msgstr "Dokument-Indices konfigurieren"
|
||||
|
||||
#: permissions.py:10
|
||||
msgid "Create new document indexes"
|
||||
msgstr "Neue Dokument-Indices erstellen "
|
||||
|
||||
#: permissions.py:11
|
||||
msgid "Edit document indexes"
|
||||
msgstr "Dokument-Indices bearbeiten"
|
||||
|
||||
#: permissions.py:12
|
||||
msgid "Delete document indexes"
|
||||
msgstr "Dokument-Indices löschen"
|
||||
|
||||
#: permissions.py:14
|
||||
msgid "View document indexes"
|
||||
msgstr "Zeige Dokumenten-Indices"
|
||||
|
||||
#: permissions.py:15
|
||||
msgid "Rebuild document indexes"
|
||||
msgstr "Dokumenten-Indices neu erstellen"
|
||||
|
||||
#: utils.py:19
|
||||
msgid "document indexes"
|
||||
msgstr "Dokument-Indices"
|
||||
|
||||
#: views.py:71
|
||||
msgid "Index created successfully."
|
||||
msgstr "Index erfolgreich angelegt."
|
||||
|
||||
#: views.py:95
|
||||
msgid "Index edited successfully"
|
||||
msgstr "Index erfolgreich bearbeitet."
|
||||
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "edit index: %s"
|
||||
msgstr "Index bearbeiten: %s"
|
||||
|
||||
#: views.py:126
|
||||
#, python-format
|
||||
msgid "Index: %s deleted successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:128
|
||||
#, python-format
|
||||
msgid "Index: %(index)s delete error: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:140
|
||||
#, python-format
|
||||
msgid "Are you sure you with to delete the index: %s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:164
|
||||
#, python-format
|
||||
msgid "tree template nodes for index: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:167
|
||||
msgid "level"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:189
|
||||
msgid "Index template node created successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:195
|
||||
msgid "create child node"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:216
|
||||
msgid "Index template node edited successfully"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#, python-format
|
||||
msgid "edit index template node: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:229 views.py:269 views.py:337
|
||||
msgid "node"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:251
|
||||
#, python-format
|
||||
msgid "Node: %s deleted successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:253
|
||||
#, python-format
|
||||
msgid "Node: %(node)s delete error: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:262
|
||||
#, python-format
|
||||
msgid "Are you sure you with to delete the index template node: %s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:286
|
||||
msgid "nodes"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "contents for index: %s"
|
||||
msgstr "Inhalt für Index: %s"
|
||||
|
||||
#: views.py:341
|
||||
msgid "items"
|
||||
msgstr "Elemente"
|
||||
|
||||
#: views.py:366
|
||||
msgid "Are you sure you wish to rebuild all indexes?"
|
||||
msgstr "Sind Sie sicher, dass Sie alle Indices neu erstellen möchten?"
|
||||
|
||||
#: views.py:367
|
||||
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."
|
||||
|
||||
#: views.py:373
|
||||
msgid "Index rebuild completed successfully."
|
||||
msgstr "Neuaufbau des Index erfolgreich abgeschlossen."
|
||||
|
||||
#: views.py:380
|
||||
#, python-format
|
||||
msgid "Index rebuild error: %s"
|
||||
msgstr "Fehler bei Neuaufbau des Index: %s"
|
||||
|
||||
#: views.py:402
|
||||
#, python-format
|
||||
msgid "indexes containing: %s"
|
||||
msgstr "Indices enthalten: %s"
|
||||
|
||||
#: conf/settings.py:22
|
||||
msgid ""
|
||||
"A dictionary that maps the index name and where on the filesystem that index"
|
||||
" will be mirrored."
|
||||
msgstr ""
|
||||
|
||||
#: templates/indexing_help.html:3
|
||||
msgid "What are indexes?"
|
||||
msgstr "Was sind Indices?"
|
||||
|
||||
#: templates/indexing_help.html:4
|
||||
msgid "Indexes group documents into a tree like hierarchical structure."
|
||||
msgstr "Indices gruppieren Dokumente in eine baumartige, hierarchische Struktur."
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 19:02-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,8 +17,8 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: __init__.py:31 __init__.py:45 __init__.py:47 models.py:42 views.py:36
|
||||
#: views.py:280
|
||||
#: __init__.py:31 __init__.py:45 __init__.py:47 models.py:42 views.py:38
|
||||
#: views.py:283
|
||||
msgid "indexes"
|
||||
msgstr ""
|
||||
|
||||
@@ -26,7 +26,7 @@ msgstr ""
|
||||
msgid "index list"
|
||||
msgstr ""
|
||||
|
||||
#: __init__.py:33 views.py:74
|
||||
#: __init__.py:33 views.py:77
|
||||
msgid "create index"
|
||||
msgstr ""
|
||||
|
||||
@@ -62,24 +62,24 @@ msgstr ""
|
||||
msgid "Indexes"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:71
|
||||
#: api.py:69
|
||||
#, python-format
|
||||
msgid "Maximum suffix (%s) count reached."
|
||||
msgstr ""
|
||||
|
||||
#: api.py:85
|
||||
#: api.py:83
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Error in document indexing update expression: %(expression)s; %(exception)s"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:96 api.py:111
|
||||
#: api.py:92 api.py:107
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Error updating document index, expression: %(expression)s; %(exception)s"
|
||||
msgstr ""
|
||||
|
||||
#: api.py:150
|
||||
#: api.py:149
|
||||
#, python-format
|
||||
msgid "Unable to delete document indexing node; %s"
|
||||
msgstr ""
|
||||
@@ -116,7 +116,7 @@ msgstr ""
|
||||
msgid "Available functions: %s"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:17 views.py:40
|
||||
#: models.py:17 views.py:42
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,7 +124,7 @@ msgstr ""
|
||||
msgid "Internal name used to reference this index."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:18 views.py:41
|
||||
#: models.py:18 views.py:43
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
@@ -132,7 +132,7 @@ msgstr ""
|
||||
msgid "The name that will be visible to users."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:19 models.py:50
|
||||
#: models.py:19 models.py:50 views.py:44 views.py:168
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
@@ -140,8 +140,8 @@ msgstr ""
|
||||
msgid "Causes this index to be visible and updated when document data changes."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:41 models.py:47 views.py:101 views.py:132 views.py:159
|
||||
#: views.py:195 views.py:225 views.py:265
|
||||
#: models.py:41 models.py:47 views.py:104 views.py:135 views.py:161
|
||||
#: views.py:198 views.py:228 views.py:268
|
||||
msgid "index"
|
||||
msgstr ""
|
||||
|
||||
@@ -239,110 +239,110 @@ msgstr ""
|
||||
msgid "document indexes"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:68
|
||||
#: views.py:71
|
||||
msgid "Index created successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:92
|
||||
#: views.py:95
|
||||
msgid "Index edited successfully"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:98
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "edit index: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:123
|
||||
#: views.py:126
|
||||
#, python-format
|
||||
msgid "Index: %s deleted successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:125
|
||||
#: views.py:128
|
||||
#, python-format
|
||||
msgid "Index: %(index)s delete error: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:137
|
||||
#: views.py:140
|
||||
#, python-format
|
||||
msgid "Are you sure you with to delete the index: %s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:164
|
||||
#, python-format
|
||||
msgid "tree template nodes for index: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:165
|
||||
#: views.py:167
|
||||
msgid "level"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:186
|
||||
#: views.py:189
|
||||
msgid "Index template node created successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:192
|
||||
#: views.py:195
|
||||
msgid "create child node"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:213
|
||||
#: views.py:216
|
||||
msgid "Index template node edited successfully"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:219
|
||||
#: views.py:222
|
||||
#, python-format
|
||||
msgid "edit index template node: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:226 views.py:266 views.py:334
|
||||
#: views.py:229 views.py:269 views.py:337
|
||||
msgid "node"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:248
|
||||
#: views.py:251
|
||||
#, python-format
|
||||
msgid "Node: %s deleted successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:250
|
||||
#: views.py:253
|
||||
#, python-format
|
||||
msgid "Node: %(node)s delete error: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:259
|
||||
#: views.py:262
|
||||
#, python-format
|
||||
msgid "Are you sure you with to delete the index template node: %s?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:283
|
||||
#: views.py:286
|
||||
msgid "nodes"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:316
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "contents for index: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:338
|
||||
#: views.py:341
|
||||
msgid "items"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:363
|
||||
#: views.py:366
|
||||
msgid "Are you sure you wish to rebuild all indexes?"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:364
|
||||
#: views.py:367
|
||||
msgid "On large databases this operation may take some time to execute."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:370
|
||||
#: views.py:373
|
||||
msgid "Index rebuild completed successfully."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:375
|
||||
#: views.py:380
|
||||
#, python-format
|
||||
msgid "Index rebuild error: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:397
|
||||
#: views.py:402
|
||||
#, python-format
|
||||
msgid "indexes containing: %s"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -8,18 +8,18 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
|
||||
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
|
||||
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
|
||||
"PO-Revision-Date: 2012-02-12 19:28+0000\n"
|
||||
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/mayan-edms/team/es/)\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/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"
|
||||
|
||||
#: __init__.py:31 __init__.py:45 __init__.py:47 models.py:42 views.py:36
|
||||
#: views.py:280
|
||||
#: __init__.py:31 __init__.py:45 __init__.py:47 models.py:42 views.py:38
|
||||
#: views.py:283
|
||||
msgid "indexes"
|
||||
msgstr "índices"
|
||||
|
||||
@@ -27,7 +27,7 @@ msgstr "índices"
|
||||
msgid "index list"
|
||||
msgstr "lista de indices"
|
||||
|
||||
#: __init__.py:33 views.py:74
|
||||
#: __init__.py:33 views.py:77
|
||||
msgid "create index"
|
||||
msgstr "crear índice"
|
||||
|
||||
@@ -63,28 +63,24 @@ msgstr "Borra y crea de la nada todos los índices de documentos."
|
||||
msgid "Indexes"
|
||||
msgstr "Índices"
|
||||
|
||||
#: api.py:71
|
||||
#: api.py:69
|
||||
#, python-format
|
||||
msgid "Maximum suffix (%s) count reached."
|
||||
msgstr "Cuenta máxima de sufijo (%s) alcanzada."
|
||||
|
||||
#: api.py:85
|
||||
#: api.py:83
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Error in document indexing update expression: %(expression)s; %(exception)s"
|
||||
msgstr ""
|
||||
"Error en la expresión de actualización de indexación: %(expression)s; "
|
||||
"%(exception)s "
|
||||
msgstr "Error en la expresión de actualización de indexación: %(expression)s; %(exception)s "
|
||||
|
||||
#: api.py:96 api.py:111
|
||||
#: api.py:92 api.py:107
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Error updating document index, expression: %(expression)s; %(exception)s"
|
||||
msgstr ""
|
||||
"Error actualizando el indice de documento, expresión: %(expression)s; "
|
||||
"%(exception)s "
|
||||
msgstr "Error actualizando el indice de documento, expresión: %(expression)s; %(exception)s "
|
||||
|
||||
#: api.py:150
|
||||
#: api.py:149
|
||||
#, python-format
|
||||
msgid "Unable to delete document indexing node; %s"
|
||||
msgstr "No se puede eliminar el nodo de indexación de documento; %s"
|
||||
@@ -99,9 +95,7 @@ msgstr "No se puede crear el directorio de indexación; %s"
|
||||
msgid ""
|
||||
"Unable to create symbolic link, file exists and could not be deleted: "
|
||||
"%(filepath)s; %(exc)s"
|
||||
msgstr ""
|
||||
"No se puede crear un enlace simbólico, el archivo existe y no puede "
|
||||
"eliminarse: %(filepath)s; %(exc)s "
|
||||
msgstr "No se puede crear un enlace simbólico, el archivo existe y no puede eliminarse: %(filepath)s; %(exc)s "
|
||||
|
||||
#: filesystem.py:71
|
||||
#, python-format
|
||||
@@ -123,7 +117,7 @@ msgstr "No se puede eliminar el directorio de indexación; %s"
|
||||
msgid "Available functions: %s"
|
||||
msgstr "Funciones disponibles: %s"
|
||||
|
||||
#: models.py:17 views.py:40
|
||||
#: models.py:17 views.py:42
|
||||
msgid "name"
|
||||
msgstr "nombre"
|
||||
|
||||
@@ -131,7 +125,7 @@ msgstr "nombre"
|
||||
msgid "Internal name used to reference this index."
|
||||
msgstr "Nombre interno que se utiliza para hacer referencia a este índice."
|
||||
|
||||
#: models.py:18 views.py:41
|
||||
#: models.py:18 views.py:43
|
||||
msgid "title"
|
||||
msgstr "título"
|
||||
|
||||
@@ -139,19 +133,17 @@ msgstr "título"
|
||||
msgid "The name that will be visible to users."
|
||||
msgstr "El nombre que será visible para los usuarios."
|
||||
|
||||
#: models.py:19 models.py:50
|
||||
#: models.py:19 models.py:50 views.py:44 views.py:168
|
||||
msgid "enabled"
|
||||
msgstr "habilitado"
|
||||
|
||||
#: models.py:19
|
||||
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."
|
||||
msgstr "Hace que este índice sea visible y actualizado cuando los datos de documentos cambien."
|
||||
|
||||
#: models.py:41 models.py:47 views.py:101 views.py:132 views.py:159
|
||||
#: views.py:195 views.py:225 views.py:265
|
||||
#: models.py:41 models.py:47 views.py:104 views.py:135 views.py:161
|
||||
#: views.py:198 views.py:228 views.py:268
|
||||
msgid "index"
|
||||
msgstr "índice"
|
||||
|
||||
@@ -165,9 +157,7 @@ msgstr "Introduzca una expresión de python para ser evaluada."
|
||||
|
||||
#: models.py:50
|
||||
msgid "Causes this node to be visible and updated when document data changes."
|
||||
msgstr ""
|
||||
"Causa que este nodo sea visible y actualizado cuando los datos de los "
|
||||
"documentos son cambiados."
|
||||
msgstr "Causa que este nodo sea visible y actualizado cuando los datos de los documentos son cambiados."
|
||||
|
||||
#: models.py:51
|
||||
msgid "link documents"
|
||||
@@ -177,9 +167,7 @@ msgstr "enlace de documentos"
|
||||
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 actue como un contenedor de documentos y"
|
||||
" no como un padre para mas nodos secundarios."
|
||||
msgstr "Marque esta opción para que el nodo actue como un contenedor de documentos y no como un padre para mas nodos secundarios."
|
||||
|
||||
#: models.py:57 models.py:63
|
||||
msgid "index template node"
|
||||
@@ -253,112 +241,110 @@ msgstr "Generar índices de documentos"
|
||||
msgid "document indexes"
|
||||
msgstr "indices de documentos"
|
||||
|
||||
#: views.py:68
|
||||
#: views.py:71
|
||||
msgid "Index created successfully."
|
||||
msgstr "Índice creado con exitosamente."
|
||||
|
||||
#: views.py:92
|
||||
#: views.py:95
|
||||
msgid "Index edited successfully"
|
||||
msgstr "Índice editado con exitosamente."
|
||||
|
||||
#: views.py:98
|
||||
#: views.py:101
|
||||
#, python-format
|
||||
msgid "edit index: %s"
|
||||
msgstr "editar Índice: %s"
|
||||
|
||||
#: views.py:123
|
||||
#: views.py:126
|
||||
#, python-format
|
||||
msgid "Index: %s deleted successfully."
|
||||
msgstr "Índice: %s eliminado exitosamente."
|
||||
|
||||
#: views.py:125
|
||||
#: views.py:128
|
||||
#, python-format
|
||||
msgid "Index: %(index)s delete error: %(error)s"
|
||||
msgstr "Error al borrar índice: %(index)s, error: %(error)s "
|
||||
|
||||
#: views.py:137
|
||||
#: views.py:140
|
||||
#, python-format
|
||||
msgid "Are you sure you with to delete the index: %s?"
|
||||
msgstr "¿Seguro que desea eliminar el índice: %s?"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:164
|
||||
#, python-format
|
||||
msgid "tree template nodes for index: %s"
|
||||
msgstr "nodos de la plantilla del árbol del índice: %s"
|
||||
|
||||
#: views.py:165
|
||||
#: views.py:167
|
||||
msgid "level"
|
||||
msgstr "nivel"
|
||||
|
||||
#: views.py:186
|
||||
#: views.py:189
|
||||
msgid "Index template node created successfully."
|
||||
msgstr "Nodo de plantilla de índice creado exitosamente."
|
||||
|
||||
#: views.py:192
|
||||
#: views.py:195
|
||||
msgid "create child node"
|
||||
msgstr "crear nodo hijo"
|
||||
|
||||
#: views.py:213
|
||||
#: views.py:216
|
||||
msgid "Index template node edited successfully"
|
||||
msgstr "Nodo de la plantilla de índice editado exitosamente"
|
||||
|
||||
#: views.py:219
|
||||
#: views.py:222
|
||||
#, python-format
|
||||
msgid "edit index template node: %s"
|
||||
msgstr "editar nodo de la plantilla de índice: %s"
|
||||
|
||||
#: views.py:226 views.py:266 views.py:334
|
||||
#: views.py:229 views.py:269 views.py:337
|
||||
msgid "node"
|
||||
msgstr "nodo"
|
||||
|
||||
#: views.py:248
|
||||
#: views.py:251
|
||||
#, python-format
|
||||
msgid "Node: %s deleted successfully."
|
||||
msgstr "Nodo: %s eliminado exitosamente."
|
||||
|
||||
#: views.py:250
|
||||
#: views.py:253
|
||||
#, python-format
|
||||
msgid "Node: %(node)s delete error: %(error)s"
|
||||
msgstr "Error de eliminación para nodo: %(node)s, %(error)s "
|
||||
|
||||
#: views.py:259
|
||||
#: views.py:262
|
||||
#, python-format
|
||||
msgid "Are you sure you with to delete the index template node: %s?"
|
||||
msgstr "¿Seguro que desea eliminar el nodo de plantilla de indice: %s?"
|
||||
|
||||
#: views.py:283
|
||||
#: views.py:286
|
||||
msgid "nodes"
|
||||
msgstr "nodos"
|
||||
|
||||
#: views.py:316
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "contents for index: %s"
|
||||
msgstr "contenido del indice: %s"
|
||||
|
||||
#: views.py:338
|
||||
#: views.py:341
|
||||
msgid "items"
|
||||
msgstr "artículos"
|
||||
|
||||
#: views.py:363
|
||||
#: views.py:366
|
||||
msgid "Are you sure you wish to rebuild all indexes?"
|
||||
msgstr "¿Está seguro que desea reconstruir todos los índices?"
|
||||
|
||||
#: views.py:364
|
||||
#: views.py:367
|
||||
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:370
|
||||
#: views.py:373
|
||||
msgid "Index rebuild completed successfully."
|
||||
msgstr "Reconstrucción de Índices completada exitosamente."
|
||||
|
||||
#: views.py:375
|
||||
#: views.py:380
|
||||
#, python-format
|
||||
msgid "Index rebuild error: %s"
|
||||
msgstr "Error de reconstrucción de índices: %s"
|
||||
|
||||
#: views.py:397
|
||||
#: views.py:402
|
||||
#, python-format
|
||||
msgid "indexes containing: %s"
|
||||
msgstr "índices que contienen: %s"
|
||||
@@ -367,9 +353,7 @@ msgstr "índices que contienen: %s"
|
||||
msgid ""
|
||||
"A dictionary that maps the index name and where on the filesystem that index"
|
||||
" will be mirrored."
|
||||
msgstr ""
|
||||
"Un diccionario que asigna el nombre del índice y en qué parte del sistema de"
|
||||
" archivos dicho índice se va a reflejar."
|
||||
msgstr "Un diccionario que asigna el nombre del índice y en qué parte del sistema de archivos dicho índice se va a reflejar."
|
||||
|
||||
#: templates/indexing_help.html:3
|
||||
msgid "What are indexes?"
|
||||
@@ -377,7 +361,4 @@ msgstr "¿Que son los índices?"
|
||||
|
||||
#: templates/indexing_help.html:4
|
||||
msgid "Indexes group documents into a tree like hierarchical structure."
|
||||
msgstr ""
|
||||
"Los índices agrupan documentos en una estructura jerárquica tipo árbol. "
|
||||
|
||||
|
||||
msgstr "Los índices agrupan documentos en una estructura jerárquica tipo árbol. "
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user