diff --git a/.tx/config b/.tx/config index 73db1d18e1..3b2f76cc77 100644 --- a/.tx/config +++ b/.tx/config @@ -1,518 +1,218 @@ -[mayan-edms.apps-bootstrap] -type = PO -source_file = apps/bootstrap/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/bootstrap/locale/es/LC_MESSAGES/django.po -trans.pt = apps/bootstrap/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/bootstrap/locale/pt_BR/LC_MESSAGES/django.po -trans.ru = apps/bootstrap/locale/ru/LC_MESSAGES/django.po -trans.it = apps/bootstrap/locale/it/LC_MESSAGES/django.po -trans.pl = apps/bootstrap/locale/pl/LC_MESSAGES/django.po -trans.de_DE = apps/bootstrap/locale/de_DE/LC_MESSAGES/django.po -trans.fr = apps/bootstrap/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/bootstrap/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/bootstrap/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-converter] -source_file = apps/converter/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/converter/locale/es/LC_MESSAGES/django.po -trans.pt = apps/converter/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/converter/locale/pt_BR/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 -trans.fr = apps/converter/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/converter/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/converter/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-common] -source_file = apps/common/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/common/locale/es/LC_MESSAGES/django.po -trans.pt = apps/common/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/common/locale/pt_BR/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 -trans.fr = apps/common/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/common/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/common/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-permissions] -source_file = apps/permissions/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/permissions/locale/es/LC_MESSAGES/django.po -trans.pt = apps/permissions/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/permissions/locale/pt_BR/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 -trans.fr = apps/permissions/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/permissions/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/permissions/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-sources] -source_file = apps/sources/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/sources/locale/es/LC_MESSAGES/django.po -trans.pt = apps/sources/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/sources/locale/pt_BR/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 -trans.fr = apps/sources/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/sources/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/sources/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-document_indexing] -source_file = apps/document_indexing/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/document_indexing/locale/es/LC_MESSAGES/django.po -trans.pt = apps/document_indexing/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/document_indexing/locale/pt_BR/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 -trans.fr = apps/document_indexing/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/document_indexing/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/document_indexing/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-user_management] -source_file = apps/user_management/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/user_management/locale/es/LC_MESSAGES/django.po -trans.pt = apps/user_management/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/user_management/locale/pt_BR/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 -trans.fr = apps/user_management/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/user_management/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/user_management/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-main] -source_file = apps/main/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/main/locale/es/LC_MESSAGES/django.po -trans.pt = apps/main/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/main/locale/pt_BR/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 -trans.fr = apps/main/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/main/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/main/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-ocr] -source_file = apps/ocr/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/ocr/locale/es/LC_MESSAGES/django.po -trans.pt = apps/ocr/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/ocr/locale/pt_BR/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 -trans.fr = apps/ocr/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/ocr/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/ocr/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-project_setup] -source_file = apps/project_setup/locale/en/LC_MESSAGES/django.po -source_lang = en -trans.es = apps/project_setup/locale/es/LC_MESSAGES/django.po -trans.pt = apps/project_setup/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/project_setup/locale/pt_BR/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 -trans.fr = apps/project_setup/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/project_setup/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/project_setup/locale/nl_NL/LC_MESSAGES/django.po - [main] host = https://www.transifex.net -[mayan-edms.apps-folders] -source_file = apps/folders/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/folders/locale/es/LC_MESSAGES/django.po -trans.pt = apps/folders/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/folders/locale/pt_BR/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 -trans.fr = apps/folders/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/folders/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/folders/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-history] -source_file = apps/history/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/history/locale/es/LC_MESSAGES/django.po -trans.pt = apps/history/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/history/locale/pt_BR/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 -trans.fr = apps/history/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/history/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/history/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-dynamic_search] -source_file = apps/dynamic_search/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/dynamic_search/locale/es/LC_MESSAGES/django.po -trans.pt = apps/dynamic_search/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/dynamic_search/locale/pt_BR/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 -trans.fr = apps/dynamic_search/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/dynamic_search/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-smart_settings] -source_file = apps/smart_settings/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/smart_settings/locale/es/LC_MESSAGES/django.po -trans.pt = apps/smart_settings/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/smart_settings/locale/pt_BR/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 -trans.fr = apps/smart_settings/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/smart_settings/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-navigation] -source_file = apps/navigation/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/navigation/locale/es/LC_MESSAGES/django.po -trans.pt = apps/navigation/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/navigation/locale/pt_BR/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 -trans.fr = apps/navigation/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/navigation/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/navigation/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-tags] -source_file = apps/tags/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/tags/locale/es/LC_MESSAGES/django.po -trans.pt = apps/tags/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/tags/locale/pt_BR/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 -trans.fr = apps/tags/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/tags/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/tags/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-documents] -source_file = apps/documents/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/documents/locale/es/LC_MESSAGES/django.po -trans.pt = apps/documents/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/documents/locale/pt_BR/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 -trans.fr = apps/documents/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/documents/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/documents/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-project_tools] -source_file = apps/project_tools/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/project_tools/locale/es/LC_MESSAGES/django.po -trans.pt = apps/project_tools/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/project_tools/locale/pt_BR/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 -trans.fr = apps/project_tools/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/project_tools/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/project_tools/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-linking] -source_file = apps/linking/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/linking/locale/es/LC_MESSAGES/django.po -trans.pt = apps/linking/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/linking/locale/pt_BR/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 -trans.fr = apps/linking/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/linking/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/linking/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-document_comments] -source_file = apps/document_comments/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/document_comments/locale/es/LC_MESSAGES/django.po -trans.pt = apps/document_comments/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/document_comments/locale/pt_BR/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 -trans.fr = apps/document_comments/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/document_comments/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/document_comments/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-metadata] -source_file = apps/metadata/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/metadata/locale/es/LC_MESSAGES/django.po -trans.pt = apps/metadata/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/metadata/locale/pt_BR/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 -trans.fr = apps/metadata/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/metadata/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/metadata/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-web_theme] -source_file = apps/web_theme/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/web_theme/locale/es/LC_MESSAGES/django.po -trans.pt = apps/web_theme/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/web_theme/locale/pt_BR/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 -trans.fr = apps/web_theme/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/web_theme/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/web_theme/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-django_gpg] -source_file = apps/django_gpg/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/django_gpg/locale/es/LC_MESSAGES/django.po -trans.pt = apps/django_gpg/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/django_gpg/locale/pt_BR/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 -trans.fr = apps/django_gpg/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/django_gpg/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-document_signatures] -source_file = apps/document_signatures/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/document_signatures/locale/es/LC_MESSAGES/django.po -trans.pt = apps/document_signatures/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/document_signatures/locale/pt_BR/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 -trans.fr = apps/document_signatures/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/document_signatures/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/document_signatures/locale/nl_NL/LC_MESSAGES/django.po - [mayan-edms.apps-acls] +file_filter = apps/acls/locale//LC_MESSAGES/django.po +source_lang = en source_file = apps/acls/locale/en/LC_MESSAGES/django.po type = PO -source_lang = en -trans.es = apps/acls/locale/es/LC_MESSAGES/django.po -trans.pt = apps/acls/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/acls/locale/pt_BR/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 -trans.fr = apps/acls/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/acls/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/acls/locale/nl_NL/LC_MESSAGES/django.po -[mayan-edms.apps-installation] -source_file = apps/installation/locale/en/LC_MESSAGES/django.po -type = PO +[mayan-edms.apps-bootstrap] +file_filter = apps/bootstrap/locale//LC_MESSAGES/django.po source_lang = en -trans.es = apps/installation/locale/es/LC_MESSAGES/django.po -trans.pt = apps/installation/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/installation/locale/pt_BR/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 -trans.fr = apps/installation/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/installation/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/installation/locale/nl_NL/LC_MESSAGES/django.po +source_file = apps/bootstrap/locale/en/LC_MESSAGES/django.po +type = PO -[mayan-edms.apps-scheduler] -source_file = apps/scheduler/locale/en/LC_MESSAGES/django.po -type = PO +[mayan-edms.apps-converter] +file_filter = apps/converter/locale//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.pt_BR = apps/scheduler/locale/pt_BR/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 -trans.fr = apps/scheduler/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/scheduler/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/scheduler/locale/nl_NL/LC_MESSAGES/django.po +source_file = apps/converter/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-common] +file_filter = apps/common/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/common/locale/en/LC_MESSAGES/django.po +type = PO [mayan-edms.apps-checkouts] +file_filter = apps/checkouts/locale//LC_MESSAGES/django.po +source_lang = en source_file = apps/checkouts/locale/en/LC_MESSAGES/django.po type = PO -source_lang = en -trans.es = apps/checkouts/locale/es/LC_MESSAGES/django.po -trans.pt = apps/checkouts/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po -trans.ru = apps/checkouts/locale/ru/LC_MESSAGES/django.po -trans.it = apps/checkouts/locale/it/LC_MESSAGES/django.po -trans.pl = apps/checkouts/locale/pl/LC_MESSAGES/django.po -trans.de_DE = apps/checkouts/locale/de_DE/LC_MESSAGES/django.po -trans.fr = apps/checkouts/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/checkouts/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-maintenance] -source_file = apps/maintenance/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/maintenance/locale/es/LC_MESSAGES/django.po -trans.pt = apps/maintenance/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/maintenance/locale/pt_BR/LC_MESSAGES/django.po -trans.ru = apps/maintenance/locale/ru/LC_MESSAGES/django.po -trans.it = apps/maintenance/locale/it/LC_MESSAGES/django.po -trans.pl = apps/maintenance/locale/pl/LC_MESSAGES/django.po -trans.de_DE = apps/maintenance/locale/de_DE/LC_MESSAGES/django.po -trans.fr = apps/maintenance/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/maintenance/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/maintenance/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-diagnostics] -source_file = apps/diagnostics/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/diagnostics/locale/es/LC_MESSAGES/django.po -trans.pt = apps/diagnostics/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/diagnostics/locale/pt_BR/LC_MESSAGES/django.po -trans.ru = apps/diagnostics/locale/ru/LC_MESSAGES/django.po -trans.it = apps/diagnostics/locale/it/LC_MESSAGES/django.po -trans.pl = apps/diagnostics/locale/pl/LC_MESSAGES/django.po -trans.de_DE = apps/diagnostics/locale/de_DE/LC_MESSAGES/django.po -trans.fr = apps/diagnostics/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/diagnostics/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/diagnostics/locale/nl_NL/LC_MESSAGES/django.po - -[mayan-edms.apps-statistics] -source_file = apps/statistics/locale/en/LC_MESSAGES/django.po -type = PO -source_lang = en -trans.es = apps/statistics/locale/es/LC_MESSAGES/django.po -trans.pt = apps/statistics/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/statistics/locale/pt_BR/LC_MESSAGES/django.po -trans.ru = apps/statistics/locale/ru/LC_MESSAGES/django.po -trans.it = apps/statistics/locale/it/LC_MESSAGES/django.po -trans.pl = apps/statistics/locale/pl/LC_MESSAGES/django.po -trans.de_DE = apps/statistics/locale/de_DE/LC_MESSAGES/django.po -trans.fr = apps/statistics/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/statistics/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/statistics/locale/nl_NL/LC_MESSAGES/django.po [mayan-edms.apps-clustering] +file_filter = apps/clustering/locale//LC_MESSAGES/django.po +source_lang = en source_file = apps/clustering/locale/en/LC_MESSAGES/django.po type = PO + +[mayan-edms.apps-django_gpg] +file_filter = apps/django_gpg/locale//LC_MESSAGES/django.po source_lang = en -trans.es = apps/clustering/locale/es/LC_MESSAGES/django.po -trans.pt = apps/clustering/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/clustering/locale/pt_BR/LC_MESSAGES/django.po -trans.ru = apps/clustering/locale/ru/LC_MESSAGES/django.po -trans.it = apps/clustering/locale/it/LC_MESSAGES/django.po -trans.pl = apps/clustering/locale/pl/LC_MESSAGES/django.po -trans.de_DE = apps/clustering/locale/de_DE/LC_MESSAGES/django.po -trans.fr = apps/clustering/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/clustering/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/clustering/locale/nl_NL/LC_MESSAGES/django.po +source_file = apps/django_gpg/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-diagnostics] +file_filter = apps/diagnostics/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/diagnostics/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-documents] +file_filter = apps/documents/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/documents/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-document_comments] +file_filter = apps/document_comments/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/document_comments/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-document_indexing] +file_filter = apps/document_indexing/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/document_indexing/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-document_signatures] +file_filter = apps/document_signatures/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/document_signatures/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-dynamic_search] +file_filter = apps/dynamic_search/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/dynamic_search/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-folders] +file_filter = apps/folders/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/folders/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-history] +file_filter = apps/history/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/history/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-installation] +file_filter = apps/installation/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/installation/locale/en/LC_MESSAGES/django.po +type = PO [mayan-edms.apps-job_processor] +file_filter = apps/job_processor/locale//LC_MESSAGES/django.po +source_lang = en source_file = apps/job_processor/locale/en/LC_MESSAGES/django.po type = PO + +[mayan-edms.apps-linking] +file_filter = apps/linking/locale//LC_MESSAGES/django.po source_lang = en -trans.es = apps/job_processor/locale/es/LC_MESSAGES/django.po -trans.pt = apps/job_processor/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/job_processor/locale/pt_BR/LC_MESSAGES/django.po -trans.ru = apps/job_processor/locale/ru/LC_MESSAGES/django.po -trans.it = apps/job_processor/locale/it/LC_MESSAGES/django.po -trans.pl = apps/job_processor/locale/pl/LC_MESSAGES/django.po -trans.de_DE = apps/job_processor/locale/de_DE/LC_MESSAGES/django.po -trans.fr = apps/job_processor/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/job_processor/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/job_processor/locale/nl_NL/LC_MESSAGES/django.po +source_file = apps/linking/locale/en/LC_MESSAGES/django.po +type = PO [mayan-edms.apps-lock_manager] +file_filter = apps/lock_manager/locale//LC_MESSAGES/django.po +source_lang = en source_file = apps/lock_manager/locale/en/LC_MESSAGES/django.po type = PO + +[mayan-edms.apps-main] +file_filter = apps/main/locale//LC_MESSAGES/django.po source_lang = en -trans.es = apps/lock_manager/locale/es/LC_MESSAGES/django.po -trans.pt = apps/lock_manager/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/lock_manager/locale/pt_BR/LC_MESSAGES/django.po -trans.ru = apps/lock_manager/locale/ru/LC_MESSAGES/django.po -trans.it = apps/lock_manager/locale/it/LC_MESSAGES/django.po -trans.pl = apps/lock_manager/locale/pl/LC_MESSAGES/django.po -trans.de_DE = apps/lock_manager/locale/de_DE/LC_MESSAGES/django.po -trans.fr = apps/lock_manager/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/lock_manager/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/lock_manager/locale/nl_NL/LC_MESSAGES/django.po +source_file = apps/main/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-maintenance] +file_filter = apps/maintenance/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/maintenance/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-metadata] +file_filter = apps/metadata/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/metadata/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-navigation] +file_filter = apps/navigation/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/navigation/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-ocr] +file_filter = apps/ocr/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/ocr/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-permissions] +file_filter = apps/permissions/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/permissions/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-project_setup] +file_filter = apps/project_setup/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/project_setup/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-project_tools] +file_filter = apps/project_tools/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/project_tools/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-registration] +file_filter = apps/registration/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/registration/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-scheduler] +file_filter = apps/scheduler/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/scheduler/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-smart_settings] +file_filter = apps/smart_settings/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/smart_settings/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-sources] +file_filter = apps/sources/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/sources/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-statistics] +file_filter = apps/statistics/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/statistics/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-tags] +file_filter = apps/tags/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/tags/locale/en/LC_MESSAGES/django.po +type = PO [mayan-edms.apps-trash] +file_filter = apps/trash/locale//LC_MESSAGES/django.po +source_lang = en source_file = apps/trash/locale/en/LC_MESSAGES/django.po type = PO + +[mayan-edms.apps-user_management] +file_filter = apps/user_management/locale//LC_MESSAGES/django.po source_lang = en -trans.es = apps/trash/locale/es/LC_MESSAGES/django.po -trans.pt = apps/trash/locale/pt/LC_MESSAGES/django.po -trans.pt_BR = apps/trash/locale/pt_BR/LC_MESSAGES/django.po -trans.ru = apps/trash/locale/ru/LC_MESSAGES/django.po -trans.it = apps/trash/locale/it/LC_MESSAGES/django.po -trans.pl = apps/trash/locale/pl/LC_MESSAGES/django.po -trans.de_DE = apps/trash/locale/de_DE/LC_MESSAGES/django.po -trans.fr = apps/trash/locale/fr/LC_MESSAGES/django.po -trans.bg = apps/trash/locale/bg/LC_MESSAGES/django.po -trans.nl_NL = apps/trash/locale/nl_NL/LC_MESSAGES/django.po +source_file = apps/user_management/locale/en/LC_MESSAGES/django.po +type = PO + +[mayan-edms.apps-web_theme] +file_filter = apps/web_theme/locale//LC_MESSAGES/django.po +source_lang = en +source_file = apps/web_theme/locale/en/LC_MESSAGES/django.po +type = PO diff --git a/apps/acls/cleanup.py b/apps/acls/cleanup.py new file mode 100644 index 0000000000..172c441a50 --- /dev/null +++ b/apps/acls/cleanup.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from .models import AccessEntry, DefaultAccessEntry + + +def cleanup(): + AccessEntry.objects.all().delete() + DefaultAccessEntry.objects.all().delete() diff --git a/apps/acls/locale/bg/LC_MESSAGES/django.po b/apps/acls/locale/bg/LC_MESSAGES/django.po index 90531db359..bf2f195a69 100644 --- a/apps/acls/locale/bg/LC_MESSAGES/django.po +++ b/apps/acls/locale/bg/LC_MESSAGES/django.po @@ -3,84 +3,86 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Iliya Georgiev , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-01-02 09:45+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-10-15 10:27+0000\n" +"Last-Translator: Pavlin Koldamov \n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/mayan-edms/" "language/bg/)\n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" -msgstr "" +msgstr "Нов притежател" #: forms.py:38 msgid "Users" -msgstr "" +msgstr "Потребители" #: forms.py:41 msgid "Groups" -msgstr "" +msgstr "Групи" #: forms.py:44 msgid "Roles" -msgstr "" +msgstr "Роли" #: forms.py:47 msgid "Special" msgstr "" -#: links.py:10 +#: links.py:14 msgid "ACLs" -msgstr "" +msgstr "Контролни списъци за достъп" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" -msgstr "" +msgstr "детайли" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" -msgstr "" +msgstr "предоставяне" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" -msgstr "" +msgstr "отменя" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" -msgstr "" +msgstr "Контролни списъци за достъп по подразбиране" -#: links.py:17 +#: links.py:21 msgid "List of classes" -msgstr "" +msgstr "Списък на класовете" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" -msgstr "" +msgstr "Контролни списъци за клас" #: managers.py:119 managers.py:131 msgid "Insufficient access." -msgstr "" +msgstr "Недостатъчен достъп." #: models.py:25 models.py:67 msgid "permission" -msgstr "" +msgstr "разрешение" #: models.py:51 msgid "access entry" -msgstr "" +msgstr "достъп за влизане" #: models.py:52 msgid "access entries" -msgstr "" +msgstr "достъп вписвания" #: models.py:88 msgid "default access entry" @@ -100,7 +102,7 @@ msgstr "" #: permissions.py:7 permissions.py:8 msgid "Access control lists" -msgstr "" +msgstr "Контролни списъци за достъп" #: permissions.py:10 msgid "Edit ACLs" @@ -118,6 +120,15 @@ msgstr "" msgid "View class default ACLs" msgstr "" +#: registry.py:10 +#, fuzzy +msgid "ACL" +msgstr "Контролни списъци за достъп" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" @@ -129,7 +140,7 @@ msgstr "" #: views.py:50 views.py:410 msgid "permissions" -msgstr "" +msgstr "разрешения" #: views.py:97 #, python-format @@ -155,22 +166,22 @@ msgstr "" #: views.py:185 views.py:278 views.py:526 views.py:605 #, python-format msgid " for %s" -msgstr "" +msgstr " за %s" #: views.py:186 views.py:527 #, python-format msgid " to %s" -msgstr "" +msgstr " към %s" #: views.py:189 views.py:530 #, python-format msgid "Are you sure you wish to grant the permission %(title_suffix)s?" -msgstr "" +msgstr "Сигурни ли сте, че искате да дадете разрешение за %(title_suffix)s?" #: views.py:191 views.py:532 #, python-format msgid "Are you sure you wish to grant the permissions %(title_suffix)s?" -msgstr "" +msgstr "Сигурни ли сте, че искате да дадете разрешения за %(title_suffix)s?" #: views.py:198 views.py:539 #, python-format @@ -187,17 +198,19 @@ msgstr "" #: views.py:279 views.py:606 #, python-format msgid " from %s" -msgstr "" +msgstr " от %s" #: 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: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:291 views.py:618 #, python-format @@ -220,16 +233,16 @@ msgstr "" #: views.py:386 msgid "classes" -msgstr "" +msgstr "класове" #: views.py:388 msgid "class" -msgstr "" +msgstr "клас" #: views.py:407 #, python-format msgid "default access control lists for class: %s" -msgstr "" +msgstr "правила за достъп по подразбиране за клас: %s" #: views.py:435 #, python-format diff --git a/apps/acls/locale/de_DE/LC_MESSAGES/django.po b/apps/acls/locale/de_DE/LC_MESSAGES/django.po index 3f119e4af2..78f4641cb6 100644 --- a/apps/acls/locale/de_DE/LC_MESSAGES/django.po +++ b/apps/acls/locale/de_DE/LC_MESSAGES/django.po @@ -3,23 +3,24 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-06-10 13:06+0000\n" -"Last-Translator: tilmannsittig \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-09-20 07:40+0000\n" +"Last-Translator: Manticor \n" "Language-Team: German (Germany) (http://www.transifex.com/projects/p/mayan-" "edms/language/de_DE/)\n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "Neuer Berechtigter" @@ -39,31 +40,31 @@ msgstr "Rollen" msgid "Special" msgstr "" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "ACLs" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "Details" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "Erlauben" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "Entziehen" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "Standard-ACLs" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "Liste der Klassen" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "ACLs für Klasse" @@ -101,7 +102,7 @@ msgstr "" #: permissions.py:7 permissions.py:8 msgid "Access control lists" -msgstr "Zugriffs-Berechtigungs-Listen (ACLs)" +msgstr "Zugriffsberechtigungslisten (ACLs)" #: permissions.py:10 msgid "Edit ACLs" @@ -119,10 +120,19 @@ msgstr "Standard-ACLs für Klasse bearbeiten" msgid "View class default ACLs" msgstr "Standard-ACLs für Klasse anzeigen" +#: registry.py:10 +#, fuzzy +msgid "ACL" +msgstr "ACLs" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" -msgstr "Standard-ACLs für: %s" +msgstr "Zugriffberechtigungsliste für: %s" #: views.py:49 views.py:409 msgid "holder" @@ -167,13 +177,15 @@ msgstr "zu %s" #, 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?" +"Sind Sie sicher, dass Sie die 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?" +"Sind Sie sicher, dass Sie die Berechtigungen %(title_suffix)s erteilen " +"möchten?" #: views.py:198 views.py:539 #, python-format @@ -196,13 +208,15 @@ msgstr "von %s" #, 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?" +"Sind Sie sicher, dass Sie die 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?" +"Sind Sie sicher, dass Sie die Berechtigungen %(title_suffix)s enziehen " +"möchten?" #: views.py:291 views.py:618 #, python-format diff --git a/apps/acls/locale/en/LC_MESSAGES/django.po b/apps/acls/locale/en/LC_MESSAGES/django.po index 407922f01d..6fb34ca2e3 100644 --- a/apps/acls/locale/en/LC_MESSAGES/django.po +++ b/apps/acls/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "" @@ -37,31 +37,31 @@ msgstr "" msgid "Special" msgstr "" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "" @@ -117,6 +117,14 @@ msgstr "" msgid "View class default ACLs" msgstr "" +#: registry.py:10 +msgid "ACL" +msgstr "" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" diff --git a/apps/acls/locale/es/LC_MESSAGES/django.po b/apps/acls/locale/es/LC_MESSAGES/django.po index 5018b56c01..ae048a7db9 100644 --- a/apps/acls/locale/es/LC_MESSAGES/django.po +++ b/apps/acls/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-02-12 00:16+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/mayan-edms/" @@ -17,9 +17,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "Nuevo titular" @@ -39,31 +39,31 @@ msgstr "Funciones" msgid "Special" msgstr "Especial" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "LCA" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "detalles" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "otorgar" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "revocar" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "LCA por defecto" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "Lista de clases" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "LCA para la clase" @@ -119,6 +119,15 @@ msgstr "Editar LCA por defecto de la clase" msgid "View class default ACLs" msgstr "Ver LCA por defecto de la clase" +#: registry.py:10 +#, fuzzy +msgid "ACL" +msgstr "LCA" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" diff --git a/apps/acls/locale/fr/LC_MESSAGES/django.po b/apps/acls/locale/fr/LC_MESSAGES/django.po index 7556ccf6da..3758179c66 100644 --- a/apps/acls/locale/fr/LC_MESSAGES/django.po +++ b/apps/acls/locale/fr/LC_MESSAGES/django.po @@ -1,24 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Pierre Lhoste , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" -"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" -"POT-Creation-Date: 2012-07-26 23:54-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-07-28 15:20+0000\n" "Last-Translator: Pierre Lhoste \n" -"Language-Team: French (http://www.transifex.com/projects/p/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/projects/p/mayan-edms/" +"language/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "Nouveau détenteur" @@ -38,31 +39,31 @@ msgstr "Rôles" msgid "Special" msgstr "Spécial" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "ACLs" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "détails" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "autoriser" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "révoquer" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "ACLs par défaut" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "Liste des classes" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "ACLs pour la classe" @@ -118,6 +119,15 @@ msgstr "Modifier ACLs par défaut" msgid "View class default ACLs" msgstr "Afficher ACLs par défaut pour la classe" +#: registry.py:10 +#, fuzzy +msgid "ACL" +msgstr "ACLs" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" @@ -165,12 +175,14 @@ msgstr "sur %s" #: views.py:189 views.py:530 #, python-format msgid "Are you sure you wish to grant the permission %(title_suffix)s?" -msgstr "Êtes vous certain de vouloir attribuer l'autorisation %(title_suffix)s?" +msgstr "" +"Êtes vous certain de vouloir attribuer l'autorisation %(title_suffix)s?" #: views.py:191 views.py:532 #, python-format msgid "Are you sure you wish to grant the permissions %(title_suffix)s?" -msgstr "Êtes vous certain de vouloir attribuer les autorisations %(title_suffix)s?" +msgstr "" +"Êtes vous certain de vouloir attribuer les autorisations %(title_suffix)s?" #: views.py:198 views.py:539 #, python-format @@ -182,7 +194,9 @@ msgstr "Autorisation \"%(permission)s\" accordée à %(actor)s sur %(object)s." msgid "" "%(actor)s, already had the permission \"%(permission)s\" granted for " "%(object)s." -msgstr "%(actor)s, dispose déjà de l'autorisation \"%(permission)s\" accordée sur %(object)s." +msgstr "" +"%(actor)s, dispose déjà de l'autorisation \"%(permission)s\" accordée sur " +"%(object)s." #: views.py:279 views.py:606 #, python-format @@ -197,12 +211,14 @@ msgstr "Êtes vous certain de vouloir révoquer l'autorisation %(title_suffix)s? #: views.py:284 views.py:611 #, python-format msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?" -msgstr "Êtes vous certain de vouloir révoquer les autorisations %(title_suffix)s?" +msgstr "" +"Êtes vous certain de vouloir révoquer les autorisations %(title_suffix)s?" #: views.py:291 views.py:618 #, python-format msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -msgstr "Autorisation \"%(permission)s\" révoquée pour %(actor)s sur %(object)s." +msgstr "" +"Autorisation \"%(permission)s\" révoquée pour %(actor)s sur %(object)s." #: views.py:297 views.py:624 #, python-format diff --git a/apps/acls/locale/it/LC_MESSAGES/django.po b/apps/acls/locale/it/LC_MESSAGES/django.po index 9b5b145cd6..03915b20b2 100644 --- a/apps/acls/locale/it/LC_MESSAGES/django.po +++ b/apps/acls/locale/it/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-06-08 07:20+0000\n" "Last-Translator: Carlo Zanatto <>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/mayan-edms/" @@ -19,9 +19,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "Nuovo titolare" @@ -41,31 +41,31 @@ msgstr "Ruoli" msgid "Special" msgstr "Speciale" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "ACL" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "dettagli" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "permetti" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "revocare" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "Default ACL" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "Elenco delle classi" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "ACL per la classe" @@ -121,6 +121,15 @@ msgstr "Modifica ACL predefiniti di classe" msgid "View class default ACLs" msgstr "Visualizza classi ACL predefinite" +#: registry.py:10 +#, fuzzy +msgid "ACL" +msgstr "ACL" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" diff --git a/apps/acls/locale/nl_NL/LC_MESSAGES/django.po b/apps/acls/locale/nl_NL/LC_MESSAGES/django.po index e1e4a44a45..c3d1ff9ff9 100644 --- a/apps/acls/locale/nl_NL/LC_MESSAGES/django.po +++ b/apps/acls/locale/nl_NL/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-01-02 09:45+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" @@ -16,9 +16,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "" @@ -38,31 +38,31 @@ msgstr "" msgid "Special" msgstr "" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "" @@ -118,6 +118,14 @@ msgstr "" msgid "View class default ACLs" msgstr "" +#: registry.py:10 +msgid "ACL" +msgstr "" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" diff --git a/apps/acls/locale/pl/LC_MESSAGES/django.po b/apps/acls/locale/pl/LC_MESSAGES/django.po index 61cbbf580a..f87df100f1 100644 --- a/apps/acls/locale/pl/LC_MESSAGES/django.po +++ b/apps/acls/locale/pl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-01-02 09:45+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Polish (http://www.transifex.com/projects/p/mayan-edms/" @@ -17,9 +17,9 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2)\n" +"|| n%100>=20) ? 1 : 2);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "" @@ -39,31 +39,31 @@ msgstr "" msgid "Special" msgstr "" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "" @@ -119,6 +119,14 @@ msgstr "" msgid "View class default ACLs" msgstr "" +#: registry.py:10 +msgid "ACL" +msgstr "" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" diff --git a/apps/acls/locale/pt/LC_MESSAGES/django.po b/apps/acls/locale/pt/LC_MESSAGES/django.po index bccf27cd87..30a5a280fd 100644 --- a/apps/acls/locale/pt/LC_MESSAGES/django.po +++ b/apps/acls/locale/pt/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-07-03 19:01+0000\n" "Last-Translator: Vítor Figueiró \n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/mayan-edms/" @@ -17,9 +17,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "Novo detentor" @@ -39,31 +39,31 @@ msgstr "Funções" msgid "Special" msgstr "Especial" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "ACL's" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "detalhes" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "conceder" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "revogar" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "ACL's padrão" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "Lista de classes" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "ACL's para a classe" @@ -119,6 +119,15 @@ msgstr "Editar os ACL's padrão da classe" msgid "View class default ACLs" msgstr "Ver os ACL's padrão da classe" +#: registry.py:10 +#, fuzzy +msgid "ACL" +msgstr "ACL's" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" diff --git a/apps/acls/locale/pt_BR/LC_MESSAGES/django.po b/apps/acls/locale/pt_BR/LC_MESSAGES/django.po index 7491397639..740718c074 100644 --- a/apps/acls/locale/pt_BR/LC_MESSAGES/django.po +++ b/apps/acls/locale/pt_BR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-01-02 09:45+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" @@ -16,9 +16,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "" @@ -38,31 +38,31 @@ msgstr "" msgid "Special" msgstr "" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "" @@ -118,6 +118,14 @@ msgstr "" msgid "View class default ACLs" msgstr "" +#: registry.py:10 +msgid "ACL" +msgstr "" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" diff --git a/apps/acls/locale/ru/LC_MESSAGES/django.po b/apps/acls/locale/ru/LC_MESSAGES/django.po index beb577bbe3..ef6ed816b6 100644 --- a/apps/acls/locale/ru/LC_MESSAGES/django.po +++ b/apps/acls/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-02-27 04:26+0000\n" "Last-Translator: Sergey Glita \n" "Language-Team: Russian (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,9 +18,9 @@ msgstr "" "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" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: forms.py:21 links.py:14 links.py:20 +#: forms.py:21 links.py:18 links.py:24 msgid "New holder" msgstr "Новый владелец" @@ -40,31 +40,31 @@ msgstr "Роли" msgid "Special" msgstr "Специальный" -#: links.py:10 +#: links.py:14 msgid "ACLs" msgstr "Списки ACL" -#: links.py:11 links.py:19 +#: links.py:15 links.py:23 msgid "details" msgstr "детали" -#: links.py:12 links.py:21 +#: links.py:16 links.py:25 msgid "grant" msgstr "предоставить" -#: links.py:13 links.py:22 +#: links.py:17 links.py:26 msgid "revoke" msgstr "отозвать" -#: links.py:16 +#: links.py:20 msgid "Default ACLs" msgstr "ACL по умолчанию" -#: links.py:17 +#: links.py:21 msgid "List of classes" msgstr "Список классов" -#: links.py:18 +#: links.py:22 msgid "ACLs for class" msgstr "ACL для класса" @@ -120,6 +120,15 @@ msgstr "Редактировать списки ACL класса по умолч msgid "View class default ACLs" msgstr "Просмотр списков ACL класса по умолчанию" +#: registry.py:10 +#, fuzzy +msgid "ACL" +msgstr "Списки ACL" + +#: registry.py:11 +msgid "Handles object level access control." +msgstr "" + #: views.py:47 #, python-format msgid "access control lists for: %s" diff --git a/apps/acls/locale/sl_SI/LC_MESSAGES/django.po b/apps/acls/locale/sl_SI/LC_MESSAGES/django.po new file mode 100644 index 0000000000..52a2eb186f --- /dev/null +++ b/apps/acls/locale/sl_SI/LC_MESSAGES/django.po @@ -0,0 +1,241 @@ +# 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-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-01-02 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/projects/p/mayan-edms/language/sl_SI/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#: __init__.py:14 +msgid "ACLs" +msgstr "" + +#: __init__.py:15 __init__.py:23 +msgid "details" +msgstr "" + +#: __init__.py:16 __init__.py:25 +msgid "grant" +msgstr "" + +#: __init__.py:17 __init__.py:26 +msgid "revoke" +msgstr "" + +#: __init__.py:18 __init__.py:24 forms.py:21 +msgid "New holder" +msgstr "" + +#: __init__.py:20 +msgid "Default ACLs" +msgstr "" + +#: __init__.py:21 +msgid "List of classes" +msgstr "" + +#: __init__.py:22 +msgid "ACLs for class" +msgstr "" + +#: forms.py:38 +msgid "Users" +msgstr "" + +#: forms.py:41 +msgid "Groups" +msgstr "" + +#: forms.py:44 +msgid "Roles" +msgstr "" + +#: forms.py:47 +msgid "Special" +msgstr "" + +#: managers.py:118 managers.py:130 +msgid "Insufficient access." +msgstr "" + +#: models.py:25 models.py:67 +msgid "permission" +msgstr "" + +#: models.py:51 +msgid "access entry" +msgstr "" + +#: models.py:52 +msgid "access entries" +msgstr "" + +#: models.py:88 +msgid "default access entry" +msgstr "" + +#: models.py:89 +msgid "default access entries" +msgstr "" + +#: 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 "" + +#: permissions.py:10 +msgid "Edit ACLs" +msgstr "" + +#: permissions.py:11 +msgid "View ACLs" +msgstr "" + +#: permissions.py:13 +msgid "Edit class default ACLs" +msgstr "" + +#: permissions.py:14 +msgid "View class default ACLs" +msgstr "" + +#: views.py:47 +#, python-format +msgid "access control lists for: %s" +msgstr "" + +#: views.py:49 views.py:409 +msgid "holder" +msgstr "" + +#: views.py:50 views.py:410 +msgid "permissions" +msgstr "" + +#: views.py:97 +#, python-format +msgid "permissions available to: %(actor)s for %(obj)s" +msgstr "" + +#: views.py:104 views.py:442 +msgid "namespace" +msgstr "" + +#: views.py:105 views.py:443 +msgid "label" +msgstr "" + +#: views.py:107 views.py:445 +msgid "has permission" +msgstr "" + +#: 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 "" + +#: views.py:186 views.py:527 +#, python-format +msgid " to %s" +msgstr "" + +#: views.py:189 views.py:530 +#, python-format +msgid "Are you sure you wish to grant the permission %(title_suffix)s?" +msgstr "" + +#: views.py:191 views.py:532 +#, python-format +msgid "Are you sure you wish to grant the permissions %(title_suffix)s?" +msgstr "" + +#: 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 "" + +#: views.py:282 views.py:609 +#, python-format +msgid "Are you sure you wish to revoke the permission %(title_suffix)s?" +msgstr "" + +#: views.py:284 views.py:611 +#, python-format +msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?" +msgstr "" + +#: 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 "" + +#: views.py:354 views.py:486 +msgid "Select" +msgstr "" + +#: views.py:386 +msgid "classes" +msgstr "" + +#: views.py:388 +msgid "class" +msgstr "" + +#: 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 "" diff --git a/apps/acls/registry.py b/apps/acls/registry.py index f5a25c8bf3..08729b0dc2 100644 --- a/apps/acls/registry.py +++ b/apps/acls/registry.py @@ -2,6 +2,7 @@ from __future__ import absolute_import from django.utils.translation import ugettext_lazy as _ +from .cleanup import cleanup from .icons import icon_acl_app from .links import acl_setup_valid_classes @@ -11,3 +12,9 @@ description = _(u'Handles object level access control.') icon = icon_acl_app setup_links = [acl_setup_valid_classes] dependencies = ['app_registry', 'permissions', 'navigation'] +bootstrap_models = [ + { + 'name': 'defaultaccessentry', + }, +] +cleanup_functions = [cleanup] diff --git a/apps/app_registry/__init__.py b/apps/app_registry/__init__.py index acf978062e..4020e8369d 100644 --- a/apps/app_registry/__init__.py +++ b/apps/app_registry/__init__.py @@ -17,7 +17,7 @@ def register_apps(): try: post_init = import_module('%s.post_init' % app_name) except ImportError: - logger.error('Unable to import post_init module from: %s' % app_name) + logger.debug('Unable to import post_init module from: %s' % app_name) register_apps() diff --git a/apps/app_registry/models.py b/apps/app_registry/models.py index 58a6d0c11f..8c749f818d 100644 --- a/apps/app_registry/models.py +++ b/apps/app_registry/models.py @@ -42,14 +42,14 @@ class App(TranslatableLabelMixin, LiveObjectMixin, models.Model): app_module = import_module(app_name) except ImportError: transaction.rollback - logger.error('Unable to import app: %s' % app_name) + logger.debug('Unable to import app: %s' % app_name) else: logger.debug('Trying to import registry from: %s' % app_name) try: registration = import_module('%s.registry' % app_name) except ImportError: transaction.rollback - logger.error('Unable to import registry for app: %s' % app_name) + logger.debug('Unable to import registry for app: %s' % app_name) else: if not getattr(registration, 'disabled', False): try: @@ -104,7 +104,7 @@ class App(TranslatableLabelMixin, LiveObjectMixin, models.Model): for bootstrap_model in getattr(registration, 'bootstrap_models', []): logger.debug('bootstrap_model: %s' % bootstrap_model) - BootstrapModel(model_name=bootstrap_model.get('name'), app_name=app_name, sanitize=bootstrap_model.get('sanitize', True)) + BootstrapModel(model_name=bootstrap_model.get('name'), app_name=app_name, sanitize=bootstrap_model.get('sanitize', True), dependencies=bootstrap_model.get('dependencies')) def __unicode__(self): return unicode(self.label) @@ -113,5 +113,3 @@ class App(TranslatableLabelMixin, LiveObjectMixin, models.Model): ordering = ('name', ) verbose_name = _(u'app') verbose_name_plural = _(u'apps') - - diff --git a/apps/bootstrap/classes.py b/apps/bootstrap/classes.py index 171da952de..85688bd81c 100644 --- a/apps/bootstrap/classes.py +++ b/apps/bootstrap/classes.py @@ -1,16 +1,23 @@ from __future__ import absolute_import +import logging +from itertools import chain + from django.db import models from django.core import serializers from django.utils.datastructures import SortedDict -from .exceptions import ExistingData -from .literals import FIXTURE_TYPE_PK_NULLIFIER +from .exceptions import ExistingData, NotABootstrapSetup +from .literals import (FIXTURE_TYPE_PK_NULLIFIER, FIXTURE_TYPE_MODEL_PROCESS, + FIXTURE_METADATA_REMARK_CHARACTER, BOOTSTRAP_SETUP_MAGIC_NUMBER) +from .utils import toposort2 + +logger = logging.getLogger(__name__) class Cleanup(object): """ - Class to store all the registered cleanup functions in one place + Class to store all the registered cleanup functions in one place. """ _registry = {} @@ -19,18 +26,26 @@ class Cleanup(object): for cleanup in cls._registry.values(): cleanup.function() - def __init__(self, name, function): - self.name = name + def __init__(self, function): self.function = function - self.__class__._registry[self.name] = self + self.__class__._registry[id(self)] = self class BootstrapModel(object): """ Class used to keep track of all the models to be dumped to create a - bootstrap setup from the current setup in use + bootstrap setup from the current setup in use. """ - _registry = SortedDict()#{} + _registry = SortedDict() + + @classmethod + def get_magic_number(cls): + return '%s %s' % (FIXTURE_METADATA_REMARK_CHARACTER, BOOTSTRAP_SETUP_MAGIC_NUMBER) + + @classmethod + def check_magic_number(cls, data): + if not data.startswith(cls.get_magic_number()): + raise NotABootstrapSetup @classmethod def check_for_data(cls): @@ -40,16 +55,50 @@ class BootstrapModel(object): raise ExistingData @classmethod - def get_all(cls): - return cls._registry.values() + def get_all(cls, sort_by_dependencies=False): + """ + Return all boostrap models, sorted by dependencies optionally. + """ + if not sort_by_dependencies: + return cls._registry.values() + else: + return (cls.get_by_name(name) for name in list(chain.from_iterable(toposort2(cls.get_dependency_dict())))) + + @classmethod + def get_dependency_dict(cls): + """ + Return a dictionary where the key is the model name and it's value + is a list of models upon which it depends. + """ + result = {} + for instance in cls.get_all(): + result[instance.get_fullname()] = set(instance.dependencies) + + logger.debug('result: %s' % result) + return result + + @classmethod + def get_by_name(cls, name): + """ + Return a BootstrapModel instance by the fullname of the model it + represents. + """ + return cls._registry[name] def get_fullname(self): + """ + Return a the full app name + model name of the model represented + by the instance. + """ return '.'.join([self.app_name, self.model_name]) def get_model_instance(self): + """ + Returns an actual Model class instance of the model. + """ return models.get_model(self.app_name, self.model_name) - def __init__(self, model_name, app_name=None, sanitize=True): + def __init__(self, model_name, app_name=None, sanitize=True, dependencies=None): app_name_splitted = None if '.' in model_name: app_name_splitted, model_name = model_name.split('.') @@ -58,12 +107,66 @@ class BootstrapModel(object): if not self.app_name: raise Exception('Pass either a dotted app plus model name or a model name and a separate app name') self.model_name = model_name - self.__class__._registry[self.get_fullname()] = self self.sanitize = sanitize + self.dependencies = dependencies if dependencies else [] + self.__class__._registry[self.get_fullname()] = self def dump(self, serialization_format): result = serializers.serialize(serialization_format, self.get_model_instance().objects.all(), indent=4, use_natural_keys=True) + logger.debug('result: "%s"' % result) if self.sanitize: # Remove primary key values result = FIXTURE_TYPE_PK_NULLIFIER[serialization_format](result) + # Do any clean up required on the fixture + result = FIXTURE_TYPE_MODEL_PROCESS[serialization_format](result) return result + + +class FixtureMetadata(object): + """ + Class to automatically create and extract metadata from a bootstrap + fixture. + """ + _registry = SortedDict() + + @classmethod + def get_all(cls): + return cls._registry.values() + + @classmethod + def generate_all(cls, fixture_instance): + result = [] + for fixture_metadata in cls.get_all(): + result.append(fixture_metadata.generate(fixture_instance)) + + return '\n'.join(result) + + @classmethod + def read_all(cls, data): + result = {} + for instance in cls.get_all(): + single_result = instance.read_value(data) + if single_result: + result[instance.property_name] = single_result + + return result + + def __init__(self, literal, generate_function, read_function=None, property_name=None): + self.literal = literal + self.generate_function = generate_function + self.property_name = property_name + self.read_function = read_function or (lambda x: x) + self.__class__._registry[id(self)] = self + + def get_with_remark(self): + return '%s %s' % (FIXTURE_METADATA_REMARK_CHARACTER, self.literal) + + def generate(self, fixture_instance): + return '%s: %s' % (self.get_with_remark(), self.generate_function(fixture_instance)) + + def read_value(self, fixture_data): + if self.property_name: + for line in fixture_data.splitlines(False): + if line.startswith(self.get_with_remark()): + # TODO: replace the "+ 4" with a space and next character finding algo + return self.read_function(line[len(self.literal) + 4:]) diff --git a/apps/bootstrap/exceptions.py b/apps/bootstrap/exceptions.py index 933ee9c84a..09698c6397 100644 --- a/apps/bootstrap/exceptions.py +++ b/apps/bootstrap/exceptions.py @@ -5,6 +5,14 @@ class ExistingData(Exception): """ Raised when an attempt to execute a bootstrap setup is made and there is existing data that would be corrupted or damaged by the loading the - bootstrap's fixture + bootstrap's fixture. + """ + pass + + +class NotABootstrapSetup(Exception): + """ + Raised when an attempting to import a bootstrap setup without a proper + magic number metadata """ pass diff --git a/apps/bootstrap/forms.py b/apps/bootstrap/forms.py index 10a31300e8..30621a81a9 100644 --- a/apps/bootstrap/forms.py +++ b/apps/bootstrap/forms.py @@ -15,14 +15,43 @@ logger = logging.getLogger(__name__) class BootstrapSetupForm(forms.ModelForm): class Meta: model = BootstrapSetup + widgets = { + 'description': forms.widgets.Textarea(attrs={ + 'rows': 5, 'cols': 80, + } + ) + } class BootstrapSetupForm_view(DetailForm): class Meta: model = BootstrapSetup + widgets = { + 'description': forms.widgets.Textarea(attrs={ + 'rows': 5, 'cols': 80, + } + ) + } - -class BootstrapSetupForm_dump(forms.ModelForm): - class Meta: +class BootstrapSetupForm_edit(BootstrapSetupForm): + class Meta(BootstrapSetupForm.Meta): model = BootstrapSetup - exclude = ['fixture'] + exclude = ('type',) + + +class BootstrapSetupForm_dump(BootstrapSetupForm): + class Meta(BootstrapSetupForm.Meta): + model = BootstrapSetup + exclude = ('fixture',) + + +class BootstrapFileImportForm(forms.Form): + file = forms.FileField( + label=_(u'Bootstrap setup file'), + ) + + +class BootstrapURLImportForm(forms.Form): + url = forms.URLField( + label=_(u'Bootstrap setup URL'), + ) diff --git a/apps/bootstrap/links.py b/apps/bootstrap/links.py index 6a2cc842b6..b5adef43a8 100644 --- a/apps/bootstrap/links.py +++ b/apps/bootstrap/links.py @@ -7,7 +7,8 @@ from navigation import Link from .permissions import (PERMISSION_BOOTSTRAP_VIEW, PERMISSION_BOOTSTRAP_CREATE, PERMISSION_BOOTSTRAP_EDIT, PERMISSION_BOOTSTRAP_DELETE, PERMISSION_BOOTSTRAP_EXECUTE, PERMISSION_BOOTSTRAP_DUMP, - PERMISSION_NUKE_DATABASE) + PERMISSION_NUKE_DATABASE, PERMISSION_BOOTSTRAP_EXPORT, + PERMISSION_BOOTSTRAP_IMPORT, PERMISSION_BOOTSTRAP_REPOSITORY_SYNC) from .icons import (icon_bootstrap_setup, icon_bootstrap_setup_execute, icon_bootstrap_setup_create, icon_bootstrap_setup_edit, icon_bootstrap_setup_delete, icon_bootstrap_setup_view, icon_bootstrap_setup_dump, icon_nuke_database) @@ -21,3 +22,9 @@ link_bootstrap_setup_view = Link(text=_(u'details'), view='bootstrap_setup_view' link_bootstrap_setup_execute = Link(text=_(u'execute'), view='bootstrap_setup_execute', args='object.pk', icon=icon_bootstrap_setup_execute, permissions=[PERMISSION_BOOTSTRAP_EXECUTE]) link_bootstrap_setup_dump = Link(text=_(u'dump current setup'), view='bootstrap_setup_dump', icon=icon_bootstrap_setup_dump, permissions=[PERMISSION_BOOTSTRAP_DUMP]) link_erase_database = Link(text=_(u'erase database'), view='erase_database_view', icon=icon_nuke_database, permissions=[PERMISSION_NUKE_DATABASE]) + +# TODO: convert to Link class and assign icon +link_bootstrap_setup_export = {'text': _(u'export'), 'view': 'bootstrap_setup_export', 'args': 'object.pk', 'famfam': 'disk', 'permissions': [PERMISSION_BOOTSTRAP_EXPORT]} +link_bootstrap_setup_import_from_file = {'text': _(u'import from file'), 'view': 'bootstrap_setup_import_from_file', 'famfam': 'folder', 'permissions': [PERMISSION_BOOTSTRAP_IMPORT]} +link_bootstrap_setup_import_from_url = {'text': _(u'import from URL'), 'view': 'bootstrap_setup_import_from_url', 'famfam': 'world', 'permissions': [PERMISSION_BOOTSTRAP_IMPORT]} +link_bootstrap_setup_repository_sync = {'text': _(u'sync with repository'), 'view': 'bootstrap_setup_repository_sync', 'famfam': 'world', 'permissions': [PERMISSION_BOOTSTRAP_REPOSITORY_SYNC]} diff --git a/apps/bootstrap/literals.py b/apps/bootstrap/literals.py index 1161ba4417..c85577d1de 100644 --- a/apps/bootstrap/literals.py +++ b/apps/bootstrap/literals.py @@ -2,15 +2,22 @@ from __future__ import absolute_import import re +try: + import yaml +except ImportError: + YAML_AVAILABLE = False +else: + YAML_AVAILABLE = True + from django.utils.translation import ugettext_lazy as _ FIXTURE_TYPE_JSON = 'json' FIXTURE_TYPE_YAML = 'yaml' +FIXTURE_TYPE_BETTER_YAML = 'better_yaml' FIXTURE_TYPE_XML = 'xml' FIXTURE_TYPES_CHOICES = ( (FIXTURE_TYPE_JSON, _(u'JSON')), - (FIXTURE_TYPE_YAML, _(u'YAML')), # Disabing XML until a way to specify a null pk is found #(FIXTURE_TYPE_XML, _(u'XML')), ) @@ -18,13 +25,57 @@ FIXTURE_TYPES_CHOICES = ( FIXTURE_FILE_TYPE = { FIXTURE_TYPE_JSON: 'json', FIXTURE_TYPE_YAML: 'yaml', + FIXTURE_TYPE_BETTER_YAML: 'better_yaml', FIXTURE_TYPE_XML: 'xml', } FIXTURE_TYPE_PK_NULLIFIER = { FIXTURE_TYPE_JSON: lambda x: re.sub('"pk": [0-9]{1,5}', '"pk": null', x), FIXTURE_TYPE_YAML: lambda x: re.sub('pk: [0-9]{1,5}', 'pk: null', x), + FIXTURE_TYPE_BETTER_YAML: lambda x: re.sub('[0-9]{1,5}:', 'null:', x), FIXTURE_TYPE_XML: lambda x: re.sub('pk="[0-9]{1,5}"', 'pk=null', x), } +FIXTURE_TYPE_EMPTY_FIXTURE = { + FIXTURE_TYPE_JSON: lambda x: x.startswith('[]') or x == ',', + FIXTURE_TYPE_YAML: lambda x: x.startswith('[]'), + FIXTURE_TYPE_BETTER_YAML: lambda x: x.startswith('{}'), + FIXTURE_TYPE_XML: lambda x: x, +} + +FIXTURE_TYPE_MODEL_PROCESS = { + FIXTURE_TYPE_JSON: lambda x: '%s,' % x[2:-2], + FIXTURE_TYPE_YAML: lambda x: x, + FIXTURE_TYPE_BETTER_YAML: lambda x: x, + FIXTURE_TYPE_XML: lambda x: x, +} + +FIXTURE_TYPE_FIXTURE_PROCESS = { + FIXTURE_TYPE_JSON: lambda x: '[\n%s\n]' % x[:-1], # Enclose in [], remove last comma + FIXTURE_TYPE_YAML: lambda x: x, + FIXTURE_TYPE_BETTER_YAML: lambda x: x, + FIXTURE_TYPE_XML: lambda x: x, +} + COMMAND_LOADDATA = 'loaddata' + +if YAML_AVAILABLE: + FIXTURE_TYPES_CHOICES += (FIXTURE_TYPE_YAML, _(u'YAML')), + FIXTURE_TYPES_CHOICES += (FIXTURE_TYPE_BETTER_YAML, _(u'Better YAML')), + # better_yaml is not working with natural keys + +FIXTURE_METADATA_REMARK_CHARACTER = '#' +DATETIME_STRING_FORMAT = '%a, %d %b %Y %H:%M:%S +0000' +FIXTURE_METADATA_CREATED = 'created' +FIXTURE_METADATA_EDITED = 'edited' +FIXTURE_METADATA_MAYAN_VERSION = 'mayan_edms_version' +FIXTURE_METADATA_FORMAT = 'format' +FIXTURE_METADATA_NAME = 'name' +FIXTURE_METADATA_SLUG = 'slug' +FIXTURE_METADATA_DESCRIPTION = 'description' +BOOTSTRAP_EXTENSION = 'txt' + +BOOTSTRAP_SETUP_MAGIC_NUMBER = 'bootstrap setup' + +BOOTSTRAP_REPOSITORY_URL = 'http://bootstrap.mayan-edms.com' +BOOTSTRAP_REPOSITORY_INDEX_FILE = '_repo_index.txt' diff --git a/apps/bootstrap/locale/bg/LC_MESSAGES/django.po b/apps/bootstrap/locale/bg/LC_MESSAGES/django.po index 0de5a7fa7a..812228f396 100644 --- a/apps/bootstrap/locale/bg/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/bg/LC_MESSAGES/django.po @@ -3,12 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:04+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/mayan-edms/" "language/bg/)\n" @@ -16,112 +17,115 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: api.py:113 -msgid "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -#: api.py:118 -msgid "Upload date" +#: links.py:16 +msgid "bootstrap" msgstr "" -#: api.py:121 -msgid "Segmented date index" +#: links.py:17 +msgid "bootstrap setup list" msgstr "" -#: api.py:132 -msgid "Permits" +#: links.py:18 +msgid "create new bootstrap setup" msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." -msgstr "" +#: links.py:19 +msgid "edit" +msgstr "редактиране" -#: api.py:137 -msgid "Form" -msgstr "" +#: links.py:20 +msgid "delete" +msgstr "изтриване" -#: api.py:138 -msgid "Building construction form" -msgstr "" +#: links.py:21 +msgid "details" +msgstr "детайли" -#: api.py:139 -msgid "Building usage form" -msgstr "" - -#: api.py:141 -msgid "Blueprint" -msgstr "" - -#: api.py:142 -msgid "Floorplan" -msgstr "" - -#: api.py:143 -msgid "Plot plan" -msgstr "" - -#: api.py:146 -msgid "Date" -msgstr "" - -#: api.py:147 -msgid "Client" -msgstr "" - -#: api.py:148 -msgid "Permit number" -msgstr "" - -#: api.py:149 -msgid "Project" -msgstr "" - -#: api.py:150 -msgid "User" -msgstr "" - -#: api.py:153 -msgid "Permit index" -msgstr "" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "" - -#: api.py:159 -msgid "Per project" -msgstr "" - -#: api.py:164 -msgid "Per date" -msgstr "" - -#: api.py:167 -msgid "Per user" -msgstr "" - -#: api.py:170 -msgid "Per client" -msgstr "" - -#: links.py:9 -msgid "bootstrap database" -msgstr "" - -#: links.py:10 +#: links.py:22 msgid "execute" +msgstr "изпълнение" + +#: links.py:23 +msgid "dump current setup" +msgstr "изпринтване на текущата настройка" + +#: links.py:24 +msgid "erase database" +msgstr "изтриване на база данни" + +#: links.py:27 +msgid "export" msgstr "" -#: links.py:11 -msgid "erase database" +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "JSON" + +#: literals.py:63 +msgid "YAML" +msgstr "YAML" + +#: literals.py:64 +msgid "Better YAML" +msgstr "Подобрен YAML" + +#: models.py:30 +msgid "name" +msgstr "име" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "описание" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" +"Това са текущите инструкции за създаване на структурата на базата данни." + +#: models.py:34 views.py:36 +msgid "type" +msgstr "тип" + +#: models.py:35 +msgid "creation date and time" +msgstr "дата и време на създаване" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" msgstr "" #: permissions.py:7 @@ -129,56 +133,190 @@ msgid "Database bootstrap" msgstr "" #: permissions.py:9 -msgid "Execute document bootstraps" +msgid "View bootstrap setups" msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" +msgstr "Изтрийте цялата база данни за съхраняване и документното пространство" + +#: registry.py:8 +msgid "Bootstrap" msgstr "" -#: views.py:21 -msgid "database bootstrap setups" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." msgstr "" -#: views.py:24 -msgid "description" +#: views.py:51 +msgid "Bootstrap setup created successfully" msgstr "" -#: views.py:45 +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "" -#: views.py:51 -msgid "bootstrap setup" -msgstr "" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +#, fuzzy +msgid "dump current setup into a bootstrap setup" +msgstr "изпринтване на текущата настройка" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" -msgstr "" +msgstr "Грешка при изтриване на база данни; %s" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." -msgstr "" +msgstr "Базата данни е изтрита успешно." -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" +"Сигурен ли сте, че искате да изтриете цялата база данни и документното " +"пространство?" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" msgstr "" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/de_DE/LC_MESSAGES/django.po b/apps/bootstrap/locale/de_DE/LC_MESSAGES/django.po index 71cdeccc92..373ba428ba 100644 --- a/apps/bootstrap/locale/de_DE/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/de_DE/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:04+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: German (Germany) (http://www.transifex.com/projects/p/mayan-" "edms/language/de_DE/)\n" @@ -16,169 +16,302 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: api.py:113 -msgid "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -#: api.py:118 -msgid "Upload date" +#: links.py:16 +msgid "bootstrap" msgstr "" -#: api.py:121 -msgid "Segmented date index" +#: links.py:17 +msgid "bootstrap setup list" msgstr "" -#: api.py:132 -msgid "Permits" +#: links.py:18 +msgid "create new bootstrap setup" msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." +#: links.py:19 +msgid "edit" msgstr "" -#: api.py:137 -msgid "Form" +#: links.py:20 +msgid "delete" msgstr "" -#: api.py:138 -msgid "Building construction form" +#: links.py:21 +msgid "details" msgstr "" -#: api.py:139 -msgid "Building usage form" -msgstr "" - -#: api.py:141 -msgid "Blueprint" -msgstr "" - -#: api.py:142 -msgid "Floorplan" -msgstr "" - -#: api.py:143 -msgid "Plot plan" -msgstr "" - -#: api.py:146 -msgid "Date" -msgstr "" - -#: api.py:147 -msgid "Client" -msgstr "" - -#: api.py:148 -msgid "Permit number" -msgstr "" - -#: api.py:149 -msgid "Project" -msgstr "" - -#: api.py:150 -msgid "User" -msgstr "" - -#: api.py:153 -msgid "Permit index" -msgstr "" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "" - -#: api.py:159 -msgid "Per project" -msgstr "" - -#: api.py:164 -msgid "Per date" -msgstr "" - -#: api.py:167 -msgid "Per user" -msgstr "" - -#: api.py:170 -msgid "Per client" -msgstr "" - -#: links.py:9 -msgid "bootstrap database" -msgstr "" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "" + +#: links.py:24 msgid "erase database" msgstr "" +#: links.py:27 +msgid "export" +msgstr "" + +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "" + +#: literals.py:63 +msgid "YAML" +msgstr "" + +#: literals.py:64 +msgid "Better YAML" +msgstr "" + +#: models.py:30 +msgid "name" +msgstr "" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" + +#: models.py:34 views.py:36 +msgid "type" +msgstr "" + +#: models.py:35 +msgid "creation date and time" +msgstr "" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "" + #: permissions.py:7 msgid "Database bootstrap" msgstr "" #: permissions.py:9 -msgid "Execute document bootstraps" +msgid "View bootstrap setups" msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "" -#: views.py:21 -msgid "database bootstrap setups" +#: registry.py:8 +msgid "Bootstrap" msgstr "" -#: views.py:24 -msgid "description" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." msgstr "" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "" -#: views.py:51 -msgid "bootstrap setup" -msgstr "" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +msgid "dump current setup into a bootstrap setup" +msgstr "" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "" -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" msgstr "" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/en/LC_MESSAGES/django.po b/apps/bootstrap/locale/en/LC_MESSAGES/django.po index 3b984d341f..80eec28685 100644 --- a/apps/bootstrap/locale/en/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,167 +17,300 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: api.py:113 -msgid "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -#: api.py:118 -msgid "Upload date" +#: links.py:16 +msgid "bootstrap" msgstr "" -#: api.py:121 -msgid "Segmented date index" +#: links.py:17 +msgid "bootstrap setup list" msgstr "" -#: api.py:132 -msgid "Permits" +#: links.py:18 +msgid "create new bootstrap setup" msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." +#: links.py:19 +msgid "edit" msgstr "" -#: api.py:137 -msgid "Form" +#: links.py:20 +msgid "delete" msgstr "" -#: api.py:138 -msgid "Building construction form" +#: links.py:21 +msgid "details" msgstr "" -#: api.py:139 -msgid "Building usage form" -msgstr "" - -#: api.py:141 -msgid "Blueprint" -msgstr "" - -#: api.py:142 -msgid "Floorplan" -msgstr "" - -#: api.py:143 -msgid "Plot plan" -msgstr "" - -#: api.py:146 -msgid "Date" -msgstr "" - -#: api.py:147 -msgid "Client" -msgstr "" - -#: api.py:148 -msgid "Permit number" -msgstr "" - -#: api.py:149 -msgid "Project" -msgstr "" - -#: api.py:150 -msgid "User" -msgstr "" - -#: api.py:153 -msgid "Permit index" -msgstr "" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "" - -#: api.py:159 -msgid "Per project" -msgstr "" - -#: api.py:164 -msgid "Per date" -msgstr "" - -#: api.py:167 -msgid "Per user" -msgstr "" - -#: api.py:170 -msgid "Per client" -msgstr "" - -#: links.py:9 -msgid "bootstrap database" -msgstr "" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "" + +#: links.py:24 msgid "erase database" msgstr "" +#: links.py:27 +msgid "export" +msgstr "" + +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "" + +#: literals.py:63 +msgid "YAML" +msgstr "" + +#: literals.py:64 +msgid "Better YAML" +msgstr "" + +#: models.py:30 +msgid "name" +msgstr "" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" + +#: models.py:34 views.py:36 +msgid "type" +msgstr "" + +#: models.py:35 +msgid "creation date and time" +msgstr "" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "" + #: permissions.py:7 msgid "Database bootstrap" msgstr "" #: permissions.py:9 -msgid "Execute document bootstraps" +msgid "View bootstrap setups" msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "" -#: views.py:21 -msgid "database bootstrap setups" +#: registry.py:8 +msgid "Bootstrap" msgstr "" -#: views.py:24 -msgid "description" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." msgstr "" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "" -#: views.py:51 -msgid "bootstrap setup" -msgstr "" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +msgid "dump current setup into a bootstrap setup" +msgstr "" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "" -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" msgstr "" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/es/LC_MESSAGES/django.po b/apps/bootstrap/locale/es/LC_MESSAGES/django.po index 9b4413d53a..e833c24d3e 100644 --- a/apps/bootstrap/locale/es/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/es/LC_MESSAGES/django.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-27 04:35+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 07:20+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/mayan-edms/" "language/es/)\n" @@ -17,175 +17,297 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: api.py:113 -msgid "Simple" -msgstr "Simple" - -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -"Una configuración simple que proporciona una fecha de metadatos subida y el " -"índice, más un índice alfabético basado en nombres de archivo de documentos." -#: api.py:118 -msgid "Upload date" -msgstr "Fecha de envío" - -#: api.py:121 -msgid "Segmented date index" -msgstr "Índice de la fecha segmentado" - -#: api.py:132 -msgid "Permits" -msgstr "Permisos" - -#: api.py:133 -msgid "A setup for handling permits and related documents." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -"Una configuración para el manejo de los permisos y documentos relacionados." -#: api.py:137 -msgid "Form" -msgstr "Formulario" +#: links.py:16 +msgid "bootstrap" +msgstr "arranque" -#: api.py:138 -msgid "Building construction form" -msgstr "Formulario de construcción" +#: links.py:17 +msgid "bootstrap setup list" +msgstr "list de configuraciones de arranque" -#: api.py:139 -msgid "Building usage form" -msgstr "Formulario de uso" +#: links.py:18 +msgid "create new bootstrap setup" +msgstr "crear nueva configuración de arranque" -#: api.py:141 -msgid "Blueprint" -msgstr "Planos" +#: links.py:19 +msgid "edit" +msgstr "editar" -#: api.py:142 -msgid "Floorplan" -msgstr "Plano de edificio" +#: links.py:20 +msgid "delete" +msgstr "borrar" -#: api.py:143 -msgid "Plot plan" -msgstr "Plano de parcela" +#: links.py:21 +msgid "details" +msgstr "detalles" -#: api.py:146 -msgid "Date" -msgstr "Fecha" - -#: api.py:147 -msgid "Client" -msgstr "Cliente" - -#: api.py:148 -msgid "Permit number" -msgstr "Número de permiso" - -#: api.py:149 -msgid "Project" -msgstr "Proyecto" - -#: api.py:150 -msgid "User" -msgstr "Usuario" - -#: api.py:153 -msgid "Permit index" -msgstr "Indice de permisos" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "Por permiso" - -#: api.py:159 -msgid "Per project" -msgstr "Por proyecto" - -#: api.py:164 -msgid "Per date" -msgstr "Por fecha" - -#: api.py:167 -msgid "Per user" -msgstr "Por usuario" - -#: api.py:170 -msgid "Per client" -msgstr "Por cliente" - -#: links.py:9 -msgid "bootstrap database" -msgstr "arranque de base de datos" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "ejecutar" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "grabar la configuración actual" + +#: links.py:24 msgid "erase database" msgstr "borrar la base de datos" +#: links.py:27 +msgid "export" +msgstr "exportar" + +#: links.py:28 +msgid "import from file" +msgstr "importar desde el archivo" + +#: links.py:29 +msgid "import from URL" +msgstr "importar desde URL" + +#: links.py:30 +msgid "sync with repository" +msgstr "sincronizar con el repositorio" + +#: literals.py:20 +msgid "JSON" +msgstr "JSON" + +#: literals.py:63 +msgid "YAML" +msgstr "YAML" + +#: literals.py:64 +msgid "Better YAML" +msgstr "Better YAML" + +#: models.py:30 +msgid "name" +msgstr "nombre" + +#: models.py:31 +msgid "slug" +msgstr "identificador" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "descripción" + +#: models.py:33 +msgid "fixture" +msgstr "código" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" +"Estas son la instrucciones reales para la creación de las estructuras de la " +"base de datos." + +#: models.py:34 views.py:36 +msgid "type" +msgstr "tipo" + +#: models.py:35 +msgid "creation date and time" +msgstr "fecha y hora de creación" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "configuración de arranque" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "configuraciones de arranque" + #: permissions.py:7 msgid "Database bootstrap" msgstr "Arranque de base de datos" #: permissions.py:9 -msgid "Execute document bootstraps" -msgstr "Ejecutar arranque de datos de documentos" +msgid "View bootstrap setups" +msgstr "Ver las configuraciones de arranque" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "Crear configuraciones de arranque" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "Editar las configuraciones de arranque" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "Eliminar las configuraciones de arranque" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "Ejecutar configuraciones de arranque" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" +"Grabar la configuración actual del projecto en una configuración de arranque" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "Borrar toda la base de datos y almacenamiento de documentos" -#: views.py:21 -msgid "database bootstrap setups" -msgstr "configuraciones de arranque de bases de datos" +#: registry.py:8 +msgid "Bootstrap" +msgstr "Arranque" -#: views.py:24 -msgid "description" -msgstr "descripción" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." +msgstr "" +"Proporciona configuraciones pre ajustadas para los índices, tipos de " +"documentos, etiquetas, etc" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "Error al crear la configuración de arranque." + +#: views.py:59 +msgid "create bootstrap" +msgstr "crear configuración de arranque" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "Configuración de arranque editada exitosamente." + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "Error editando la configuración de arranque." + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "editar configuración de arranque: %s" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "Configuración de arranque :%s eliminada exitosamente." + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "¿Seguro que desea borrar la configuración de arranque: %s?" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "Error al ejecutar la configuración de arranque; %s" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "Configuración de arranque \"%s\" ejecutada exitosamente." -#: views.py:51 -msgid "bootstrap setup" -msgstr "configuración de arranque" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -"¿Seguro de que desea ejecutar la configuración de arranque de base de datos " -"llamada: %s?" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +#, fuzzy +msgid "dump current setup into a bootstrap setup" +msgstr "" +"Grabar la configuración actual del projecto en una configuración de arranque" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "Error borrando la base de datos; %s" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "Base de datos borrada exitosamente." -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" "¿Está seguro que desea borrar de la base de datos completamente y el " "almacenamiento de documentos?" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" @@ -193,3 +315,16 @@ msgstr "" "¡Todos los documentos, las fuentes, los metadatos, los tipos de metadatos, " "los conjuntos de metadatos, las etiquetas, los índices y vitacoras se " "perderán irreversiblemente!" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/fr/LC_MESSAGES/django.po b/apps/bootstrap/locale/fr/LC_MESSAGES/django.po index 91d005307c..f8b6da8a5e 100644 --- a/apps/bootstrap/locale/fr/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/fr/LC_MESSAGES/django.po @@ -1,185 +1,324 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # , 2012. # Pierre Lhoste , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" -"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" -"POT-Creation-Date: 2012-07-26 23:54-0400\n" -"PO-Revision-Date: 2012-07-28 19:41+0000\n" -"Last-Translator: Pierre Lhoste \n" -"Language-Team: French (http://www.transifex.com/projects/p/mayan-edms/language/fr/)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:04+0000\n" +"Last-Translator: Roberto Rosario \n" +"Language-Team: French (http://www.transifex.com/projects/p/mayan-edms/" +"language/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: api.py:113 -msgid "Simple" -msgstr "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" +msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." -msgstr "Une configuration simple fournissant un l'import d'un index et métadonnées de dates, ainsi qu'un index alphabétique construit à partir des noms de fichiers des documents." +#: forms.py:56 +msgid "Bootstrap setup URL" +msgstr "" -#: api.py:118 -msgid "Upload date" -msgstr "Date d'importation" +#: links.py:16 +msgid "bootstrap" +msgstr "" -#: api.py:121 -msgid "Segmented date index" -msgstr "Index segmenté des dates" +#: links.py:17 +msgid "bootstrap setup list" +msgstr "" -#: api.py:132 -msgid "Permits" -msgstr "Permis/Autorisations" +#: links.py:18 +msgid "create new bootstrap setup" +msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." -msgstr "Une configuration permettant gérer les documents de type permis/autorisations et apparentés" +#: links.py:19 +msgid "edit" +msgstr "" -#: api.py:137 -msgid "Form" -msgstr "Fomulaire" +#: links.py:20 +msgid "delete" +msgstr "" -#: api.py:138 -msgid "Building construction form" -msgstr "Formulaire de construction" +#: links.py:21 +msgid "details" +msgstr "" -#: api.py:139 -msgid "Building usage form" -msgstr "Formulaire d'utilisation" - -#: api.py:141 -msgid "Blueprint" -msgstr "Plan général" - -#: api.py:142 -msgid "Floorplan" -msgstr "Plan d'étage" - -#: api.py:143 -msgid "Plot plan" -msgstr "Plan de parcelle" - -#: api.py:146 -msgid "Date" -msgstr "Date" - -#: api.py:147 -msgid "Client" -msgstr "Client" - -#: api.py:148 -msgid "Permit number" -msgstr "Numéro de permis/autorisation" - -#: api.py:149 -msgid "Project" -msgstr "Projet" - -#: api.py:150 -msgid "User" -msgstr "Utilisateur" - -#: api.py:153 -msgid "Permit index" -msgstr "Index des permis" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "Par permis/autorisation" - -#: api.py:159 -msgid "Per project" -msgstr "Par projet" - -#: api.py:164 -msgid "Per date" -msgstr "Par date" - -#: api.py:167 -msgid "Per user" -msgstr "Par utilisateur" - -#: api.py:170 -msgid "Per client" -msgstr "Par client" - -#: links.py:9 -msgid "bootstrap database" -msgstr "pré-configurer la base de données" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "exécuter" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "" + +#: links.py:24 msgid "erase database" msgstr "Supprimer la base de données" +#: links.py:27 +msgid "export" +msgstr "" + +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "" + +#: literals.py:63 +msgid "YAML" +msgstr "" + +#: literals.py:64 +msgid "Better YAML" +msgstr "" + +#: models.py:30 +msgid "name" +msgstr "" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "description" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" + +#: models.py:34 views.py:36 +msgid "type" +msgstr "" + +#: models.py:35 +msgid "creation date and time" +msgstr "" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "pré-configuration" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "" + #: permissions.py:7 msgid "Database bootstrap" msgstr "Pré-configuration de base de données" #: permissions.py:9 -msgid "Execute document bootstraps" -msgstr "Exécuter la pré-configuration de documents" +msgid "View bootstrap setups" +msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "Effacer l'ensemble de la base de donnée et tous les documents stockés" -#: views.py:21 -msgid "database bootstrap setups" -msgstr "bases de données pré-configurées" +#: registry.py:8 +msgid "Bootstrap" +msgstr "" -#: views.py:24 -msgid "description" -msgstr "description" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." +msgstr "" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "Erreur lors de l'exécution de la pré-configuration; %s" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "Pré-configuration \"%s\" effectuée avec succès." -#: views.py:51 -msgid "bootstrap setup" -msgstr "pré-configuration" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" -msgstr "Êtes vous certain de vouloir exécuter la précofiguration de base de données nommée: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" +msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +#, fuzzy +msgid "dump current setup into a bootstrap setup" +msgstr "Erreur lors de l'exécution de la pré-configuration; %s" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "Erreur lors de l'effacement de la base de données; %s" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "Base de Données effacée avec succès." -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" -msgstr "Êtes vous certain de vouloir effacer l'intégralité de la base de données et des documents stockés?" +msgstr "" +"Êtes vous certain de vouloir effacer l'intégralité de la base de données et " +"des documents stockés?" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" -msgstr "Tous les documents, sources, métadonnées, types de métadonnées, jeux, étiquettes, indexes et logs seron définitivement perdus!" +msgstr "" +"Tous les documents, sources, métadonnées, types de métadonnées, jeux, " +"étiquettes, indexes et logs seron définitivement perdus!" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/it/LC_MESSAGES/django.po b/apps/bootstrap/locale/it/LC_MESSAGES/django.po index aaf09d9df6..10a9c5b04c 100644 --- a/apps/bootstrap/locale/it/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/it/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:04+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Italian (http://www.transifex.com/projects/p/mayan-edms/" "language/it/)\n" @@ -16,169 +16,302 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: api.py:113 -msgid "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -#: api.py:118 -msgid "Upload date" +#: links.py:16 +msgid "bootstrap" msgstr "" -#: api.py:121 -msgid "Segmented date index" +#: links.py:17 +msgid "bootstrap setup list" msgstr "" -#: api.py:132 -msgid "Permits" +#: links.py:18 +msgid "create new bootstrap setup" msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." +#: links.py:19 +msgid "edit" msgstr "" -#: api.py:137 -msgid "Form" +#: links.py:20 +msgid "delete" msgstr "" -#: api.py:138 -msgid "Building construction form" +#: links.py:21 +msgid "details" msgstr "" -#: api.py:139 -msgid "Building usage form" -msgstr "" - -#: api.py:141 -msgid "Blueprint" -msgstr "" - -#: api.py:142 -msgid "Floorplan" -msgstr "" - -#: api.py:143 -msgid "Plot plan" -msgstr "" - -#: api.py:146 -msgid "Date" -msgstr "" - -#: api.py:147 -msgid "Client" -msgstr "" - -#: api.py:148 -msgid "Permit number" -msgstr "" - -#: api.py:149 -msgid "Project" -msgstr "" - -#: api.py:150 -msgid "User" -msgstr "" - -#: api.py:153 -msgid "Permit index" -msgstr "" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "" - -#: api.py:159 -msgid "Per project" -msgstr "" - -#: api.py:164 -msgid "Per date" -msgstr "" - -#: api.py:167 -msgid "Per user" -msgstr "" - -#: api.py:170 -msgid "Per client" -msgstr "" - -#: links.py:9 -msgid "bootstrap database" -msgstr "" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "" + +#: links.py:24 msgid "erase database" msgstr "" +#: links.py:27 +msgid "export" +msgstr "" + +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "" + +#: literals.py:63 +msgid "YAML" +msgstr "" + +#: literals.py:64 +msgid "Better YAML" +msgstr "" + +#: models.py:30 +msgid "name" +msgstr "" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" + +#: models.py:34 views.py:36 +msgid "type" +msgstr "" + +#: models.py:35 +msgid "creation date and time" +msgstr "" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "" + #: permissions.py:7 msgid "Database bootstrap" msgstr "" #: permissions.py:9 -msgid "Execute document bootstraps" +msgid "View bootstrap setups" msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "" -#: views.py:21 -msgid "database bootstrap setups" +#: registry.py:8 +msgid "Bootstrap" msgstr "" -#: views.py:24 -msgid "description" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." msgstr "" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "" -#: views.py:51 -msgid "bootstrap setup" -msgstr "" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +msgid "dump current setup into a bootstrap setup" +msgstr "" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "" -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" msgstr "" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/nl_NL/LC_MESSAGES/django.po b/apps/bootstrap/locale/nl_NL/LC_MESSAGES/django.po index 62f7ac3a29..ce58f23196 100644 --- a/apps/bootstrap/locale/nl_NL/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/nl_NL/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:04+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" "mayan-edms/language/nl_NL/)\n" @@ -16,169 +16,302 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: api.py:113 -msgid "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -#: api.py:118 -msgid "Upload date" +#: links.py:16 +msgid "bootstrap" msgstr "" -#: api.py:121 -msgid "Segmented date index" +#: links.py:17 +msgid "bootstrap setup list" msgstr "" -#: api.py:132 -msgid "Permits" +#: links.py:18 +msgid "create new bootstrap setup" msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." +#: links.py:19 +msgid "edit" msgstr "" -#: api.py:137 -msgid "Form" +#: links.py:20 +msgid "delete" msgstr "" -#: api.py:138 -msgid "Building construction form" +#: links.py:21 +msgid "details" msgstr "" -#: api.py:139 -msgid "Building usage form" -msgstr "" - -#: api.py:141 -msgid "Blueprint" -msgstr "" - -#: api.py:142 -msgid "Floorplan" -msgstr "" - -#: api.py:143 -msgid "Plot plan" -msgstr "" - -#: api.py:146 -msgid "Date" -msgstr "" - -#: api.py:147 -msgid "Client" -msgstr "" - -#: api.py:148 -msgid "Permit number" -msgstr "" - -#: api.py:149 -msgid "Project" -msgstr "" - -#: api.py:150 -msgid "User" -msgstr "" - -#: api.py:153 -msgid "Permit index" -msgstr "" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "" - -#: api.py:159 -msgid "Per project" -msgstr "" - -#: api.py:164 -msgid "Per date" -msgstr "" - -#: api.py:167 -msgid "Per user" -msgstr "" - -#: api.py:170 -msgid "Per client" -msgstr "" - -#: links.py:9 -msgid "bootstrap database" -msgstr "" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "" + +#: links.py:24 msgid "erase database" msgstr "" +#: links.py:27 +msgid "export" +msgstr "" + +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "" + +#: literals.py:63 +msgid "YAML" +msgstr "" + +#: literals.py:64 +msgid "Better YAML" +msgstr "" + +#: models.py:30 +msgid "name" +msgstr "" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" + +#: models.py:34 views.py:36 +msgid "type" +msgstr "" + +#: models.py:35 +msgid "creation date and time" +msgstr "" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "" + #: permissions.py:7 msgid "Database bootstrap" msgstr "" #: permissions.py:9 -msgid "Execute document bootstraps" +msgid "View bootstrap setups" msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "" -#: views.py:21 -msgid "database bootstrap setups" +#: registry.py:8 +msgid "Bootstrap" msgstr "" -#: views.py:24 -msgid "description" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." msgstr "" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "" -#: views.py:51 -msgid "bootstrap setup" -msgstr "" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +msgid "dump current setup into a bootstrap setup" +msgstr "" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "" -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" msgstr "" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/pl/LC_MESSAGES/django.po b/apps/bootstrap/locale/pl/LC_MESSAGES/django.po index 2e433ce130..c27e24d2ba 100644 --- a/apps/bootstrap/locale/pl/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/pl/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:04+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Polish (http://www.transifex.com/projects/p/mayan-edms/" "language/pl/)\n" @@ -17,169 +17,302 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2)\n" +"|| n%100>=20) ? 1 : 2);\n" -#: api.py:113 -msgid "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -#: api.py:118 -msgid "Upload date" +#: links.py:16 +msgid "bootstrap" msgstr "" -#: api.py:121 -msgid "Segmented date index" +#: links.py:17 +msgid "bootstrap setup list" msgstr "" -#: api.py:132 -msgid "Permits" +#: links.py:18 +msgid "create new bootstrap setup" msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." +#: links.py:19 +msgid "edit" msgstr "" -#: api.py:137 -msgid "Form" +#: links.py:20 +msgid "delete" msgstr "" -#: api.py:138 -msgid "Building construction form" +#: links.py:21 +msgid "details" msgstr "" -#: api.py:139 -msgid "Building usage form" -msgstr "" - -#: api.py:141 -msgid "Blueprint" -msgstr "" - -#: api.py:142 -msgid "Floorplan" -msgstr "" - -#: api.py:143 -msgid "Plot plan" -msgstr "" - -#: api.py:146 -msgid "Date" -msgstr "" - -#: api.py:147 -msgid "Client" -msgstr "" - -#: api.py:148 -msgid "Permit number" -msgstr "" - -#: api.py:149 -msgid "Project" -msgstr "" - -#: api.py:150 -msgid "User" -msgstr "" - -#: api.py:153 -msgid "Permit index" -msgstr "" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "" - -#: api.py:159 -msgid "Per project" -msgstr "" - -#: api.py:164 -msgid "Per date" -msgstr "" - -#: api.py:167 -msgid "Per user" -msgstr "" - -#: api.py:170 -msgid "Per client" -msgstr "" - -#: links.py:9 -msgid "bootstrap database" -msgstr "" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "" + +#: links.py:24 msgid "erase database" msgstr "" +#: links.py:27 +msgid "export" +msgstr "" + +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "" + +#: literals.py:63 +msgid "YAML" +msgstr "" + +#: literals.py:64 +msgid "Better YAML" +msgstr "" + +#: models.py:30 +msgid "name" +msgstr "" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" + +#: models.py:34 views.py:36 +msgid "type" +msgstr "" + +#: models.py:35 +msgid "creation date and time" +msgstr "" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "" + #: permissions.py:7 msgid "Database bootstrap" msgstr "" #: permissions.py:9 -msgid "Execute document bootstraps" +msgid "View bootstrap setups" msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "" -#: views.py:21 -msgid "database bootstrap setups" +#: registry.py:8 +msgid "Bootstrap" msgstr "" -#: views.py:24 -msgid "description" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." msgstr "" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "" -#: views.py:51 -msgid "bootstrap setup" -msgstr "" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +msgid "dump current setup into a bootstrap setup" +msgstr "" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "" -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" msgstr "" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/pt/LC_MESSAGES/django.po b/apps/bootstrap/locale/pt/LC_MESSAGES/django.po index 9655d77046..e6655a12ca 100644 --- a/apps/bootstrap/locale/pt/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/pt/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:04+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/mayan-edms/" "language/pt/)\n" @@ -16,169 +16,302 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: api.py:113 -msgid "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -#: api.py:118 -msgid "Upload date" +#: links.py:16 +msgid "bootstrap" msgstr "" -#: api.py:121 -msgid "Segmented date index" +#: links.py:17 +msgid "bootstrap setup list" msgstr "" -#: api.py:132 -msgid "Permits" +#: links.py:18 +msgid "create new bootstrap setup" msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." +#: links.py:19 +msgid "edit" msgstr "" -#: api.py:137 -msgid "Form" +#: links.py:20 +msgid "delete" msgstr "" -#: api.py:138 -msgid "Building construction form" +#: links.py:21 +msgid "details" msgstr "" -#: api.py:139 -msgid "Building usage form" -msgstr "" - -#: api.py:141 -msgid "Blueprint" -msgstr "" - -#: api.py:142 -msgid "Floorplan" -msgstr "" - -#: api.py:143 -msgid "Plot plan" -msgstr "" - -#: api.py:146 -msgid "Date" -msgstr "" - -#: api.py:147 -msgid "Client" -msgstr "" - -#: api.py:148 -msgid "Permit number" -msgstr "" - -#: api.py:149 -msgid "Project" -msgstr "" - -#: api.py:150 -msgid "User" -msgstr "" - -#: api.py:153 -msgid "Permit index" -msgstr "" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "" - -#: api.py:159 -msgid "Per project" -msgstr "" - -#: api.py:164 -msgid "Per date" -msgstr "" - -#: api.py:167 -msgid "Per user" -msgstr "" - -#: api.py:170 -msgid "Per client" -msgstr "" - -#: links.py:9 -msgid "bootstrap database" -msgstr "" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "" + +#: links.py:24 msgid "erase database" msgstr "" +#: links.py:27 +msgid "export" +msgstr "" + +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "" + +#: literals.py:63 +msgid "YAML" +msgstr "" + +#: literals.py:64 +msgid "Better YAML" +msgstr "" + +#: models.py:30 +msgid "name" +msgstr "" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" + +#: models.py:34 views.py:36 +msgid "type" +msgstr "" + +#: models.py:35 +msgid "creation date and time" +msgstr "" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "" + #: permissions.py:7 msgid "Database bootstrap" msgstr "" #: permissions.py:9 -msgid "Execute document bootstraps" +msgid "View bootstrap setups" msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "" -#: views.py:21 -msgid "database bootstrap setups" +#: registry.py:8 +msgid "Bootstrap" msgstr "" -#: views.py:24 -msgid "description" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." msgstr "" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "" -#: views.py:51 -msgid "bootstrap setup" -msgstr "" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +msgid "dump current setup into a bootstrap setup" +msgstr "" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "" -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" msgstr "" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/pt_BR/LC_MESSAGES/django.po b/apps/bootstrap/locale/pt_BR/LC_MESSAGES/django.po index 1da5ca96be..a54dedc1fd 100644 --- a/apps/bootstrap/locale/pt_BR/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/pt_BR/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:04+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" "mayan-edms/language/pt_BR/)\n" @@ -16,169 +16,302 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: api.py:113 -msgid "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -#: api.py:118 -msgid "Upload date" +#: links.py:16 +msgid "bootstrap" msgstr "" -#: api.py:121 -msgid "Segmented date index" +#: links.py:17 +msgid "bootstrap setup list" msgstr "" -#: api.py:132 -msgid "Permits" +#: links.py:18 +msgid "create new bootstrap setup" msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." +#: links.py:19 +msgid "edit" msgstr "" -#: api.py:137 -msgid "Form" +#: links.py:20 +msgid "delete" msgstr "" -#: api.py:138 -msgid "Building construction form" +#: links.py:21 +msgid "details" msgstr "" -#: api.py:139 -msgid "Building usage form" -msgstr "" - -#: api.py:141 -msgid "Blueprint" -msgstr "" - -#: api.py:142 -msgid "Floorplan" -msgstr "" - -#: api.py:143 -msgid "Plot plan" -msgstr "" - -#: api.py:146 -msgid "Date" -msgstr "" - -#: api.py:147 -msgid "Client" -msgstr "" - -#: api.py:148 -msgid "Permit number" -msgstr "" - -#: api.py:149 -msgid "Project" -msgstr "" - -#: api.py:150 -msgid "User" -msgstr "" - -#: api.py:153 -msgid "Permit index" -msgstr "" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "" - -#: api.py:159 -msgid "Per project" -msgstr "" - -#: api.py:164 -msgid "Per date" -msgstr "" - -#: api.py:167 -msgid "Per user" -msgstr "" - -#: api.py:170 -msgid "Per client" -msgstr "" - -#: links.py:9 -msgid "bootstrap database" -msgstr "" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "" + +#: links.py:24 msgid "erase database" msgstr "" +#: links.py:27 +msgid "export" +msgstr "" + +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "" + +#: literals.py:63 +msgid "YAML" +msgstr "" + +#: literals.py:64 +msgid "Better YAML" +msgstr "" + +#: models.py:30 +msgid "name" +msgstr "" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" + +#: models.py:34 views.py:36 +msgid "type" +msgstr "" + +#: models.py:35 +msgid "creation date and time" +msgstr "" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "" + #: permissions.py:7 msgid "Database bootstrap" msgstr "" #: permissions.py:9 -msgid "Execute document bootstraps" +msgid "View bootstrap setups" msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "" -#: views.py:21 -msgid "database bootstrap setups" +#: registry.py:8 +msgid "Bootstrap" msgstr "" -#: views.py:24 -msgid "description" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." msgstr "" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "" -#: views.py:51 -msgid "bootstrap setup" -msgstr "" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +msgid "dump current setup into a bootstrap setup" +msgstr "" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "" -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" msgstr "" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/locale/ru/LC_MESSAGES/django.po b/apps/bootstrap/locale/ru/LC_MESSAGES/django.po index b410997bdb..e40ac84bfc 100644 --- a/apps/bootstrap/locale/ru/LC_MESSAGES/django.po +++ b/apps/bootstrap/locale/ru/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:04+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Russian (http://www.transifex.com/projects/p/mayan-edms/" "language/ru/)\n" @@ -17,169 +17,302 @@ msgstr "" "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" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: api.py:113 -msgid "Simple" +#: forms.py:50 +msgid "Bootstrap setup file" msgstr "" -#: api.py:114 -msgid "" -"A simple setup providing an uploaded date metadata and index plus an " -"alphabetic index based on document filenames." +#: forms.py:56 +msgid "Bootstrap setup URL" msgstr "" -#: api.py:118 -msgid "Upload date" +#: links.py:16 +msgid "bootstrap" msgstr "" -#: api.py:121 -msgid "Segmented date index" +#: links.py:17 +msgid "bootstrap setup list" msgstr "" -#: api.py:132 -msgid "Permits" +#: links.py:18 +msgid "create new bootstrap setup" msgstr "" -#: api.py:133 -msgid "A setup for handling permits and related documents." +#: links.py:19 +msgid "edit" msgstr "" -#: api.py:137 -msgid "Form" +#: links.py:20 +msgid "delete" msgstr "" -#: api.py:138 -msgid "Building construction form" +#: links.py:21 +msgid "details" msgstr "" -#: api.py:139 -msgid "Building usage form" -msgstr "" - -#: api.py:141 -msgid "Blueprint" -msgstr "" - -#: api.py:142 -msgid "Floorplan" -msgstr "" - -#: api.py:143 -msgid "Plot plan" -msgstr "" - -#: api.py:146 -msgid "Date" -msgstr "" - -#: api.py:147 -msgid "Client" -msgstr "" - -#: api.py:148 -msgid "Permit number" -msgstr "" - -#: api.py:149 -msgid "Project" -msgstr "" - -#: api.py:150 -msgid "User" -msgstr "" - -#: api.py:153 -msgid "Permit index" -msgstr "" - -#: api.py:156 api.py:161 -msgid "Per permit" -msgstr "" - -#: api.py:159 -msgid "Per project" -msgstr "" - -#: api.py:164 -msgid "Per date" -msgstr "" - -#: api.py:167 -msgid "Per user" -msgstr "" - -#: api.py:170 -msgid "Per client" -msgstr "" - -#: links.py:9 -msgid "bootstrap database" -msgstr "" - -#: links.py:10 +#: links.py:22 msgid "execute" msgstr "" -#: links.py:11 +#: links.py:23 +msgid "dump current setup" +msgstr "" + +#: links.py:24 msgid "erase database" msgstr "" +#: links.py:27 +msgid "export" +msgstr "" + +#: links.py:28 +msgid "import from file" +msgstr "" + +#: links.py:29 +msgid "import from URL" +msgstr "" + +#: links.py:30 +msgid "sync with repository" +msgstr "" + +#: literals.py:20 +msgid "JSON" +msgstr "" + +#: literals.py:63 +msgid "YAML" +msgstr "" + +#: literals.py:64 +msgid "Better YAML" +msgstr "" + +#: models.py:30 +msgid "name" +msgstr "" + +#: models.py:31 +msgid "slug" +msgstr "" + +#: models.py:32 views.py:35 +msgid "description" +msgstr "" + +#: models.py:33 +msgid "fixture" +msgstr "" + +#: models.py:33 +msgid "These are the actual database structure creation instructions." +msgstr "" + +#: models.py:34 views.py:36 +msgid "type" +msgstr "" + +#: models.py:35 +msgid "creation date and time" +msgstr "" + +#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173 +msgid "bootstrap setup" +msgstr "" + +#: models.py:105 views.py:32 +msgid "bootstrap setups" +msgstr "" + #: permissions.py:7 msgid "Database bootstrap" msgstr "" #: permissions.py:9 -msgid "Execute document bootstraps" +msgid "View bootstrap setups" msgstr "" #: permissions.py:10 +msgid "Create bootstrap setups" +msgstr "" + +#: permissions.py:11 +msgid "Edit bootstrap setups" +msgstr "" + +#: permissions.py:12 +msgid "Delete bootstrap setups" +msgstr "" + +#: permissions.py:13 +msgid "Execute bootstrap setups" +msgstr "" + +#: permissions.py:14 +msgid "Dump the current project\\s setup into a bootstrap setup" +msgstr "" + +#: permissions.py:15 +msgid "Export bootstrap setups as files" +msgstr "" + +#: permissions.py:16 +msgid "Import new bootstrap setups" +msgstr "" + +#: permissions.py:17 +msgid "Sync the local bootstrap setups with a published repository" +msgstr "" + +#: permissions.py:18 msgid "Erase the entire database and document storage" msgstr "" -#: views.py:21 -msgid "database bootstrap setups" +#: registry.py:8 +msgid "Bootstrap" msgstr "" -#: views.py:24 -msgid "description" +#: registry.py:9 +msgid "Provides pre configured setups for indexes, document types, tags, etc." msgstr "" -#: views.py:45 +#: views.py:51 +msgid "Bootstrap setup created successfully" +msgstr "" + +#: views.py:54 +msgid "Error creating bootstrap setup." +msgstr "" + +#: views.py:59 +msgid "create bootstrap" +msgstr "" + +#: views.py:79 +msgid "Bootstrap setup edited successfully" +msgstr "" + +#: views.py:82 +msgid "Error editing bootstrap setup." +msgstr "" + +#: views.py:87 +#, python-format +msgid "edit bootstrap setup: %s" +msgstr "" + +#: views.py:112 +#, python-format +msgid "Bootstrap setup: %s deleted successfully." +msgstr "" + +#: views.py:114 +#, python-format +msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s" +msgstr "" + +#: views.py:125 +#, python-format +msgid "Are you sure you with to delete the bootstrap setup: %s?" +msgstr "" + +#: views.py:165 +msgid "" +"Cannot execute bootstrap setup, there is existing data. Erase all data and " +"try again." +msgstr "" + +#: views.py:167 #, python-format msgid "Error executing bootstrap setup; %s" msgstr "" -#: views.py:47 +#: views.py:169 #, python-format msgid "Bootstrap setup \"%s\" executed successfully." msgstr "" -#: views.py:51 -msgid "bootstrap setup" -msgstr "" - -#: views.py:59 +#: views.py:181 #, python-format -msgid "Are you sure you wish to execute the database bootstrap named: %s?" +msgid "" +"Are you sure you wish to execute the database bootstrap setup named: %s?" msgstr "" -#: views.py:77 +#: views.py:197 +#, python-format +msgid "Error dumping configuration into a bootstrap setup; %s" +msgstr "" + +#: views.py:201 +msgid "Bootstrap setup created successfully." +msgstr "" + +#: views.py:207 +msgid "dump current setup into a bootstrap setup" +msgstr "" + +#: views.py:241 views.py:269 +msgid "Bootstrap setup imported successfully." +msgstr "" + +#: views.py:244 +msgid "File is not a bootstrap setup." +msgstr "" + +#: views.py:246 +#, python-format +msgid "Error importing bootstrap setup from file; %s." +msgstr "" + +#: views.py:252 +msgid "Import bootstrap setup from file" +msgstr "" + +#: views.py:272 +msgid "Data from URL is not a bootstrap setup." +msgstr "" + +#: views.py:274 +#, python-format +msgid "Error importing bootstrap setup from URL; %s." +msgstr "" + +#: views.py:280 +msgid "Import bootstrap setup from URL" +msgstr "" + +#: views.py:299 #, python-format msgid "Error erasing database; %s" msgstr "" -#: views.py:79 +#: views.py:301 msgid "Database erased successfully." msgstr "" -#: views.py:89 +#: views.py:311 msgid "" "Are you sure you wish to erase the entire database and document storage?" msgstr "" -#: views.py:90 +#: views.py:312 msgid "" "All documents, sources, metadata, metadata types, set, tags, indexes and " "logs will be lost irreversibly!" msgstr "" + +#: views.py:329 +msgid "Bootstrap repository successfully synchronized." +msgstr "" + +#: views.py:331 +#, python-format +msgid "Bootstrap repository synchronization error: %(error)s" +msgstr "" + +#: views.py:338 +msgid "Are you sure you wish to synchronize with the bootstrap repository?" +msgstr "" diff --git a/apps/bootstrap/management/__init__.py b/apps/bootstrap/management/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/bootstrap/management/commands/__init__.py b/apps/bootstrap/management/commands/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/bootstrap/management/commands/erase_data.py b/apps/bootstrap/management/commands/erase_data.py new file mode 100644 index 0000000000..c53164cbfc --- /dev/null +++ b/apps/bootstrap/management/commands/erase_data.py @@ -0,0 +1,64 @@ +from __future__ import absolute_import + +from optparse import make_option + +from django.db import models, router, connections, DEFAULT_DB_ALIAS +from django.core.management import call_command +from django.core.management.base import NoArgsCommand, CommandError +from django.core.management.color import no_style +from django.core.management.sql import emit_post_sync_signal + +from ...classes import Cleanup + + +class Command(NoArgsCommand): + option_list = NoArgsCommand.option_list + ( + make_option('--noinput', action='store_false', dest='interactive', default=True, + help='Tells Django to NOT prompt the user for input of any kind.'), + make_option('--database', action='store', dest='database', + default=DEFAULT_DB_ALIAS, help='Nominates a database to erase. ' + 'Defaults to the "default" database.'), + ) + help = 'Erases all data in a Mayan EDMS installation.' + + def handle_noargs(self, **options): + db = options.get('database', DEFAULT_DB_ALIAS) + connection = connections[db] + verbosity = int(options.get('verbosity', 1)) + interactive = options.get('interactive') + + self.style = no_style() + + if interactive: + confirm = raw_input("""You have requested a erase all the data in the current Mayan EDMS installation. +This will IRREVERSIBLY ERASE all user data currently in the database, +and return each table to the state it was in after syncdb. +Are you sure you want to do this? + + Type 'yes' to continue, or 'no' to cancel: """) + else: + confirm = 'yes' + + if confirm == 'yes': + try: + Cleanup.execute_all() + except Exception, e: + raise CommandError("""Unable to erase data. Possible reasons: + * The database isn't running or isn't configured correctly. + * At least one of the expected database tables doesn't exist.""") + # Emit the post sync signal. This allows individual + # applications to respond as if the database had been + # sync'd from scratch. + all_models = [] + for app in models.get_apps(): + all_models.extend([ + m for m in models.get_models(app, include_auto_created=True) + if router.allow_syncdb(db, m) + ]) + emit_post_sync_signal(set(all_models), verbosity, interactive, db) + + # Reinstall the initial_data fixture. + kwargs = options.copy() + kwargs['database'] = db + else: + print 'Erase data cancelled.' diff --git a/apps/bootstrap/management/commands/execute_bootstrap.py b/apps/bootstrap/management/commands/execute_bootstrap.py new file mode 100644 index 0000000000..d61c1ade3c --- /dev/null +++ b/apps/bootstrap/management/commands/execute_bootstrap.py @@ -0,0 +1,31 @@ +from __future__ import absolute_import + +from optparse import make_option + +from django.core.management.base import BaseCommand, CommandError + +from ...models import BootstrapSetup +from ...exceptions import ExistingData + + +class Command(BaseCommand): + help = 'Execute a bootstrap setup by the given slug.' + args = '[bootstrap setup slug]' + + def handle(self, bootstrap_setup_slug=None, **options): + if not bootstrap_setup_slug: + raise CommandError('Enter one bootstrap setup slug.') + + # Get corresponding bootstrap setup instance + try: + bootstrap_setup = BootstrapSetup.objects.get(slug=bootstrap_setup_slug) + except BootstrapSetup.DoesNotExist: + raise CommandError('No bootstrap setup with such a slug.') + + # Try to execute bootstrap setup, catch errors + try: + bootstrap_setup.execute() + except ExistingData: + raise CommandError('Cannot execute bootstrap setup, there is existing data. Erase all data and try again.') + except Exception as exception: + raise CommandError('Unhandled exception: %s' % exception) diff --git a/apps/bootstrap/managers.py b/apps/bootstrap/managers.py index f52e068df9..b639d4bd9d 100644 --- a/apps/bootstrap/managers.py +++ b/apps/bootstrap/managers.py @@ -2,35 +2,73 @@ from __future__ import absolute_import import logging -#try: -# from cStringIO import StringIO -#except ImportError: -# from StringIO import StringIO +import requests from django.db import models from django.core import serializers +from django.utils.simplejson import loads +from django.db import IntegrityError +from django.db.models import Q -from .classes import BootstrapModel +from .classes import BootstrapModel, FixtureMetadata +from .literals import (FIXTURE_TYPE_FIXTURE_PROCESS, FIXTURE_TYPE_EMPTY_FIXTURE, + BOOTSTRAP_REPOSITORY_URL, BOOTSTRAP_REPOSITORY_INDEX_FILE) logger = logging.getLogger(__name__) class BootstrapSetupManager(models.Manager): - def explode(self, data): - """ - Gets a compressed and compacted bootstrap setup and creates a new - database BootstrapSetup instance - """ - pass - def dump(self, serialization_format): + """ + Get the current setup of Mayan in bootstrap format fixture + """ result = [] - #models = [instance.get_fullname() - for bootstrap_model in BootstrapModel.get_all(): - #logger.debug('models: %s' % models) - #options = dict(indent=4, format=format, use_natural_keys=True, interactive=False, verbosity=0, stdout=result) - #management.call_command(COMMAND_DUMPDATA, *models, **options) - #logger.debug('result: %s' % result) - result.append(bootstrap_model.dump(serialization_format)) - #return result.read() - return '\n'.join(result) + logger.debug('start dumping data') + for bootstrap_model in BootstrapModel.get_all(sort_by_dependencies=True): + logger.debug('dumping model: %s' % bootstrap_model.get_fullname()) + model_fixture = bootstrap_model.dump(serialization_format) + # Only add non empty model fixtures + if not FIXTURE_TYPE_EMPTY_FIXTURE[serialization_format](model_fixture): + result.append(model_fixture) + return FIXTURE_TYPE_FIXTURE_PROCESS[serialization_format]('\n'.join(result)) + + def import_setup(self, file_data, overwrite=False): + BootstrapModel.check_magic_number(file_data) + metadata = FixtureMetadata.read_all(file_data) + instance = self.model(fixture=file_data, **metadata) + try: + instance.save(update_metadata=False) + except IntegrityError: + if not overwrite: + raise + else: + # Delete conflicting bootstrap setups + query = Q() + if 'slug' in metadata: + query = query | Q(slug=metadata['slug']) + + if 'name' in metadata: + query = query | Q(name=metadata['name']) + + self.model.objects.filter(query).delete() + self.import_setup(file_data) + + def import_from_file(self, files): + file_data = files.read() + self.import_setup(file_data) + + def import_from_url(self, url, **kwargs): + response = requests.get(url) + if response.status_code == requests.codes.ok: + self.import_setup(response.text, **kwargs) + else: + response.raise_for_status() + + def repository_sync(self): + response = requests.get('%s/%s' % (BOOTSTRAP_REPOSITORY_URL, BOOTSTRAP_REPOSITORY_INDEX_FILE)) + if response.status_code == requests.codes.ok: + for entry in loads(response.text): + bootstrap_setup_url = '%s/%s' % (BOOTSTRAP_REPOSITORY_URL, entry['filename']) + self.import_from_url(bootstrap_setup_url, overwrite=True) + else: + response.raise_for_status() diff --git a/apps/bootstrap/migrations/0001_initial.py b/apps/bootstrap/migrations/0001_initial.py index 6d1dd6f14d..af333f0fe6 100644 --- a/apps/bootstrap/migrations/0001_initial.py +++ b/apps/bootstrap/migrations/0001_initial.py @@ -14,6 +14,7 @@ class Migration(SchemaMigration): ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=128)), ('description', self.gf('django.db.models.fields.TextField')(blank=True)), ('fixture', self.gf('django.db.models.fields.TextField')()), + ('type', self.gf('django.db.models.fields.CharField')(max_length=16)), )) db.send_create_signal('bootstrap', ['BootstrapSetup']) @@ -25,12 +26,13 @@ class Migration(SchemaMigration): models = { 'bootstrap.bootstrapsetup': { - 'Meta': {'object_name': 'BootstrapSetup'}, + 'Meta': {'ordering': "['name']", 'object_name': 'BootstrapSetup'}, 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), 'fixture': ('django.db.models.fields.TextField', [], {}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}) + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '16'}) } } - complete_apps = ['bootstrap'] \ No newline at end of file + complete_apps = ['bootstrap'] diff --git a/apps/bootstrap/migrations/0002_auto__add_field_bootstrapsetup_created.py b/apps/bootstrap/migrations/0002_auto__add_field_bootstrapsetup_created.py new file mode 100644 index 0000000000..5edc9020a0 --- /dev/null +++ b/apps/bootstrap/migrations/0002_auto__add_field_bootstrapsetup_created.py @@ -0,0 +1,34 @@ +# -*- 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 'BootstrapSetup.created' + db.add_column('bootstrap_bootstrapsetup', 'created', + self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 10, 8, 0, 0)), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'BootstrapSetup.created' + db.delete_column('bootstrap_bootstrapsetup', 'created') + + + models = { + 'bootstrap.bootstrapsetup': { + 'Meta': {'ordering': "['name']", 'object_name': 'BootstrapSetup'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 10, 8, 0, 0)'}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'fixture': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '16'}) + } + } + + complete_apps = ['bootstrap'] \ No newline at end of file diff --git a/apps/bootstrap/migrations/0003_auto__add_field_bootstrapsetup_slug.py b/apps/bootstrap/migrations/0003_auto__add_field_bootstrapsetup_slug.py new file mode 100644 index 0000000000..9ceafa9412 --- /dev/null +++ b/apps/bootstrap/migrations/0003_auto__add_field_bootstrapsetup_slug.py @@ -0,0 +1,35 @@ +# -*- 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 'BootstrapSetup.slug' + db.add_column('bootstrap_bootstrapsetup', 'slug', + self.gf('django.db.models.fields.SlugField')(default='', unique=True, max_length=128, blank=True), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'BootstrapSetup.slug' + db.delete_column('bootstrap_bootstrapsetup', 'slug') + + + models = { + 'bootstrap.bootstrapsetup': { + 'Meta': {'ordering': "['name']", 'object_name': 'BootstrapSetup'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 10, 16, 0, 0)'}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'fixture': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '16'}) + } + } + + complete_apps = ['bootstrap'] \ No newline at end of file diff --git a/apps/bootstrap/models.py b/apps/bootstrap/models.py index d34404ef07..990f73da4c 100644 --- a/apps/bootstrap/models.py +++ b/apps/bootstrap/models.py @@ -2,14 +2,25 @@ from __future__ import absolute_import import os import tempfile +import re +import datetime + +import slugify + +try: + from cStringIO import StringIO +except ImportError: + from StringIO import StringIO from django.db import models from django.utils.translation import ugettext_lazy as _ from django.core import management +from django.core.files.uploadedfile import SimpleUploadedFile -from .literals import (FIXTURE_TYPES_CHOICES, FIXTURE_FILE_TYPE, COMMAND_LOADDATA) +from .literals import (FIXTURE_TYPES_CHOICES, FIXTURE_FILE_TYPE, COMMAND_LOADDATA, + BOOTSTRAP_EXTENSION, FIXTURE_METADATA_REMARK_CHARACTER) from .managers import BootstrapSetupManager -from .classes import BootstrapModel +from .classes import BootstrapModel, FixtureMetadata class BootstrapSetup(models.Model): @@ -17,9 +28,11 @@ class BootstrapSetup(models.Model): Model to store the fixture for a pre configured setup. """ name = models.CharField(max_length=128, verbose_name=_(u'name'), unique=True) + slug = models.SlugField(max_length=128, verbose_name=_(u'slug'), unique=True, blank=True) description = models.TextField(verbose_name=_(u'description'), blank=True) fixture = models.TextField(verbose_name=_(u'fixture'), help_text=_(u'These are the actual database structure creation instructions.')) type = models.CharField(max_length=16, verbose_name=_(u'type'), choices=FIXTURE_TYPES_CHOICES) + created = models.DateTimeField(verbose_name=_('creation date and time'), default=lambda: datetime.datetime.now(), editable=False) objects = BootstrapSetupManager() @@ -27,9 +40,16 @@ class BootstrapSetup(models.Model): return self.name def get_extension(self): + """ + Return the fixture file extension based on the fixture type. + """ return FIXTURE_FILE_TYPE[self.type] def execute(self): + """ + Read a bootstrap's fixture and create the corresponding model + instances based on it. + """ BootstrapModel.check_for_data() handle, filepath = tempfile.mkstemp() # Just need the filepath, close the file description @@ -38,19 +58,46 @@ class BootstrapSetup(models.Model): filepath = os.path.extsep.join([filepath, self.get_extension()]) with open(filepath, 'w') as file_handle: - file_handle.write(self.fixture) + file_handle.write(self.cleaned_fixture) + + content = StringIO() + management.call_command(COMMAND_LOADDATA, filepath, verbosity=0, stderr=content) + content.seek(0, os.SEEK_END) + if content.tell(): + content.seek(0) + raise Exception(content.readlines()[-2]) - management.call_command(COMMAND_LOADDATA, filepath, verbosity=0) os.unlink(filepath) - def compress(self): + @property + def cleaned_fixture(self): """ - Return a compacted and compressed version of the BootstrapSetup - instance, meant for download. + Return the bootstrap setup's fixture without comments. """ - return '' + return re.sub(re.compile('%s.*?\n' % FIXTURE_METADATA_REMARK_CHARACTER), '', self.fixture) + + def get_metadata_string(self): + """ + Return all the metadata for the current bootstrap fixture. + """ + return FixtureMetadata.generate_all(self) + + def get_filename(self): + return os.extsep.join([self.name, BOOTSTRAP_EXTENSION]) + + def as_file(self): + return SimpleUploadedFile(name=self.get_filename(), content=self.fixture) def save(self, *args, **kwargs): + update_metadata = kwargs.pop('update_metadata', True) + if update_metadata: + self.fixture = '%s\n%s\n%s' % ( + BootstrapModel.get_magic_number(), + self.get_metadata_string(), + self.cleaned_fixture + ) + if not self.slug: + self.slug = slugify.slugify(self.name) return super(BootstrapSetup, self).save(*args, **kwargs) class Meta: diff --git a/apps/bootstrap/permissions.py b/apps/bootstrap/permissions.py index f954e31c67..71165fe954 100644 --- a/apps/bootstrap/permissions.py +++ b/apps/bootstrap/permissions.py @@ -12,4 +12,7 @@ PERMISSION_BOOTSTRAP_EDIT = Permission.objects.register(namespace, 'bootstrap_ed PERMISSION_BOOTSTRAP_DELETE = Permission.objects.register(namespace, 'bootstrap_delete', _(u'Delete bootstrap setups')) PERMISSION_BOOTSTRAP_EXECUTE = Permission.objects.register(namespace, 'bootstrap_execute', _(u'Execute bootstrap setups')) PERMISSION_BOOTSTRAP_DUMP = Permission.objects.register(namespace, 'bootstrap_dump', _(u'Dump the current project\s setup into a bootstrap setup')) +PERMISSION_BOOTSTRAP_EXPORT = Permission.objects.register(namespace, 'bootstrap_export', _(u'Export bootstrap setups as files')) +PERMISSION_BOOTSTRAP_IMPORT = Permission.objects.register(namespace, 'bootstrap_import', _(u'Import new bootstrap setups')) +PERMISSION_BOOTSTRAP_REPOSITORY_SYNC = Permission.objects.register(namespace, 'bootstrap_repo_sync', _(u'Sync the local bootstrap setups with a published repository')) PERMISSION_NUKE_DATABASE = Permission.objects.register(namespace, 'nuke_database', _(u'Erase the entire database and document storage')) diff --git a/apps/bootstrap/post_init.py b/apps/bootstrap/post_init.py index fbb7591803..d887411a61 100644 --- a/apps/bootstrap/post_init.py +++ b/apps/bootstrap/post_init.py @@ -1,12 +1,29 @@ from __future__ import absolute_import +import datetime + from navigation.api import bind_links +from main import __version__ from .links import (link_bootstrap_setup_create, link_bootstrap_setup_execute, link_bootstrap_setup_list, link_bootstrap_setup_edit, link_bootstrap_setup_delete, - link_bootstrap_setup_view, link_bootstrap_setup_dump) + link_bootstrap_setup_view, link_bootstrap_setup_dump, link_bootstrap_setup_export, + link_bootstrap_setup_import_from_url, link_bootstrap_setup_import_from_file, + link_bootstrap_setup_repository_sync) from .models import BootstrapSetup +from .classes import FixtureMetadata +from .literals import (FIXTURE_METADATA_CREATED, FIXTURE_METADATA_EDITED, + FIXTURE_METADATA_MAYAN_VERSION, FIXTURE_METADATA_FORMAT, FIXTURE_METADATA_NAME, + FIXTURE_METADATA_DESCRIPTION, DATETIME_STRING_FORMAT, FIXTURE_METADATA_SLUG) -bind_links([BootstrapSetup], [link_bootstrap_setup_view, link_bootstrap_setup_edit, link_bootstrap_setup_delete, link_bootstrap_setup_execute]) -bind_links([BootstrapSetup], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump], menu_name='secondary_menu') -bind_links(['bootstrap_setup_list', 'bootstrap_setup_create', 'bootstrap_setup_dump'], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump], menu_name='secondary_menu') +bind_links([BootstrapSetup], [link_bootstrap_setup_view, link_bootstrap_setup_edit, link_bootstrap_setup_delete, link_bootstrap_setup_execute, link_bootstrap_setup_export]) +bind_links([BootstrapSetup], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump, link_bootstrap_setup_import_from_file, link_bootstrap_setup_import_from_url, link_bootstrap_setup_repository_sync], menu_name='secondary_menu') +bind_links(['bootstrap_setup_list', 'bootstrap_setup_create', 'bootstrap_setup_dump', 'bootstrap_setup_import_from_file', 'bootstrap_setup_import_from_url', 'bootstrap_setup_repository_sync'], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump, link_bootstrap_setup_import_from_file, link_bootstrap_setup_import_from_url, link_bootstrap_setup_repository_sync], menu_name='secondary_menu') + +FixtureMetadata(FIXTURE_METADATA_CREATED, generate_function=lambda fixture_instance: fixture_instance.created.strftime(DATETIME_STRING_FORMAT), read_function=lambda x: datetime.datetime.strptime(x, DATETIME_STRING_FORMAT), property_name='created') +FixtureMetadata(FIXTURE_METADATA_EDITED, generate_function=lambda fixture_instance: datetime.datetime.now().strftime(DATETIME_STRING_FORMAT)) +FixtureMetadata(FIXTURE_METADATA_MAYAN_VERSION, generate_function=lambda fixture_instance: __version__) +FixtureMetadata(FIXTURE_METADATA_FORMAT, generate_function=lambda fixture_instance: fixture_instance.type, property_name='type') +FixtureMetadata(FIXTURE_METADATA_NAME, generate_function=lambda fixture_instance: fixture_instance.name, property_name='name') +FixtureMetadata(FIXTURE_METADATA_SLUG, generate_function=lambda fixture_instance: fixture_instance.slug, property_name='slug') +FixtureMetadata(FIXTURE_METADATA_DESCRIPTION, generate_function=lambda fixture_instance: fixture_instance.description, property_name='description') diff --git a/apps/bootstrap/static/images/icons/lightning.png b/apps/bootstrap/static/images/icons/lightning.png new file mode 100644 index 0000000000..df8dffc658 Binary files /dev/null and b/apps/bootstrap/static/images/icons/lightning.png differ diff --git a/apps/bootstrap/static/images/icons/lightning_delete.png b/apps/bootstrap/static/images/icons/lightning_delete.png new file mode 100644 index 0000000000..9253d67324 Binary files /dev/null and b/apps/bootstrap/static/images/icons/lightning_delete.png differ diff --git a/apps/bootstrap/static/images/icons/lightning_go.png b/apps/bootstrap/static/images/icons/lightning_go.png new file mode 100644 index 0000000000..33833b4cf0 Binary files /dev/null and b/apps/bootstrap/static/images/icons/lightning_go.png differ diff --git a/apps/bootstrap/static/images/icons/radioactivity.png b/apps/bootstrap/static/images/icons/radioactivity.png deleted file mode 100755 index ad5d5348ff..0000000000 Binary files a/apps/bootstrap/static/images/icons/radioactivity.png and /dev/null differ diff --git a/apps/bootstrap/static/images/icons/world.png b/apps/bootstrap/static/images/icons/world.png new file mode 100755 index 0000000000..644d9d53a7 Binary files /dev/null and b/apps/bootstrap/static/images/icons/world.png differ diff --git a/apps/bootstrap/urls.py b/apps/bootstrap/urls.py index 8a91228f4f..1ad28beebf 100644 --- a/apps/bootstrap/urls.py +++ b/apps/bootstrap/urls.py @@ -7,6 +7,10 @@ urlpatterns = patterns('bootstrap.views', url(r'^setup/(?P\d+)/delete/$', 'bootstrap_setup_delete', (), 'bootstrap_setup_delete'), url(r'^setup/(?P\d+)/$', 'bootstrap_setup_view', (), 'bootstrap_setup_view'), url(r'^setup/(?P\d+)/execute/$', 'bootstrap_setup_execute', (), 'bootstrap_setup_execute'), + url(r'^setup/(?P\d+)/export/$', 'bootstrap_setup_export', (), 'bootstrap_setup_export'), url(r'^setup/dump/$', 'bootstrap_setup_dump', (), 'bootstrap_setup_dump'), + url(r'^setup/import/file/$', 'bootstrap_setup_import_from_file', (), 'bootstrap_setup_import_from_file'), + url(r'^setup/import/url/$', 'bootstrap_setup_import_from_url', (), 'bootstrap_setup_import_from_url'), + url(r'^setup/repository/sync/$', 'bootstrap_setup_repository_sync', (), 'bootstrap_setup_repository_sync'), url(r'^nuke/$', 'erase_database_view', (), 'erase_database_view'), ) diff --git a/apps/bootstrap/utils.py b/apps/bootstrap/utils.py index 8b13789179..e68af0fb6f 100644 --- a/apps/bootstrap/utils.py +++ b/apps/bootstrap/utils.py @@ -1 +1,40 @@ +## {{{ http://code.activestate.com/recipes/578272/ (r1) +def toposort2(data): + """Dependencies are expressed as a dictionary whose keys are items +and whose values are a set of dependent items. Output is a list of +sets in topological order. The first set consists of items with no +dependences, each subsequent set consists of items that depend upon +items in the preceeding sets. +>>> print '\\n'.join(repr(sorted(x)) for x in toposort2({ +... 2: set([11]), +... 9: set([11,8]), +... 10: set([11,3]), +... 11: set([7,5]), +... 8: set([7,3]), +... }) ) +[3, 5, 7] +[8, 11] +[2, 9, 10] + +""" + + from functools import reduce + + # Ignore self dependencies. + for k, v in data.items(): + v.discard(k) + # Find all items that don't depend on anything. + extra_items_in_deps = reduce(set.union, data.itervalues()) - set(data.iterkeys()) + # Add empty dependences where needed + data.update({item:set() for item in extra_items_in_deps}) + while True: + ordered = set(item for item, dep in data.iteritems() if not dep) + if not ordered: + break + yield ordered + data = {item: (dep - ordered) + for item, dep in data.iteritems() + if item not in ordered} + assert not data, "Cyclic dependencies exist among these items:\n%s" % '\n'.join(repr(x) for x in data.iteritems()) +## end of http://code.activestate.com/recipes/578272/ }}} diff --git a/apps/bootstrap/views.py b/apps/bootstrap/views.py index 72b3e1e2fc..afda65e1f8 100644 --- a/apps/bootstrap/views.py +++ b/apps/bootstrap/views.py @@ -6,6 +6,9 @@ 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.files import File + +from filetransfers.api import serve_file from permissions.models import Permission @@ -13,10 +16,12 @@ from .models import BootstrapSetup from .classes import Cleanup, BootstrapModel from .permissions import (PERMISSION_BOOTSTRAP_VIEW, PERMISSION_BOOTSTRAP_CREATE, PERMISSION_BOOTSTRAP_EDIT, PERMISSION_BOOTSTRAP_DELETE, - PERMISSION_BOOTSTRAP_EXECUTE, PERMISSION_NUKE_DATABASE, PERMISSION_BOOTSTRAP_DUMP) + PERMISSION_BOOTSTRAP_EXECUTE, PERMISSION_NUKE_DATABASE, PERMISSION_BOOTSTRAP_DUMP, + PERMISSION_BOOTSTRAP_EXPORT, PERMISSION_BOOTSTRAP_IMPORT, PERMISSION_BOOTSTRAP_REPOSITORY_SYNC) from .icons import icon_bootstrap_setup_execute, icon_nuke_database, icon_bootstrap_setup_delete -from .forms import BootstrapSetupForm, BootstrapSetupForm_view, BootstrapSetupForm_dump -from .exceptions import ExistingData +from .forms import (BootstrapSetupForm, BootstrapSetupForm_view, BootstrapSetupForm_dump, + BootstrapSetupForm_edit, BootstrapFileImportForm, BootstrapURLImportForm) +from .exceptions import ExistingData, NotABootstrapSetup def bootstrap_setup_list(request): @@ -43,7 +48,7 @@ def bootstrap_setup_create(request): form = BootstrapSetupForm(request.POST) if form.is_valid(): bootstrap = form.save() - messages.success(request, _(u'Bootstrap created successfully')) + messages.success(request, _(u'Bootstrap setup created successfully')) return HttpResponseRedirect(reverse('bootstrap_setup_list')) else: messages.error(request, _(u'Error creating bootstrap setup.')) @@ -68,7 +73,7 @@ def bootstrap_setup_edit(request, bootstrap_setup_pk): AccessEntry.objects.check_access(PERMISSION_BOOTSTRAP_EDIT, request.user, bootstrap) if request.method == 'POST': - form = BootstrapSetupForm(instance=bootstrap, data=request.POST) + form = BootstrapSetupForm_edit(instance=bootstrap, data=request.POST) if form.is_valid(): form.save() messages.success(request, _(u'Bootstrap setup edited successfully')) @@ -76,7 +81,7 @@ def bootstrap_setup_edit(request, bootstrap_setup_pk): else: messages.error(request, _(u'Error editing bootstrap setup.')) else: - form = BootstrapSetupForm(instance=bootstrap) + form = BootstrapSetupForm_edit(instance=bootstrap) return render_to_response('generic_form.html', { 'title': _(u'edit bootstrap setup: %s') % bootstrap, @@ -106,7 +111,7 @@ def bootstrap_setup_delete(request, bootstrap_setup_pk): bootstrap.delete() messages.success(request, _(u'Bootstrap setup: %s deleted successfully.') % bootstrap) except Exception, e: - messages.error(request, _(u'Bootstrap setup: %(bootstrap)s delete error: %(error)s') % { + messages.error(request, _(u'Bootstrap setup: %(bootstrap)s, delete error: %(error)s') % { 'bootstrap': bootstrap, 'error': e}) return HttpResponseRedirect(reverse('bootstrap_setup_list')) @@ -157,7 +162,7 @@ def bootstrap_setup_execute(request, bootstrap_setup_pk): try: bootstrap_setup.execute() except ExistingData: - messages.error(request, _(u'Cannot execute bootstrap setup, there is existing data. Erase database and try again.')) + messages.error(request, _(u'Cannot execute bootstrap setup, there is existing data. Erase all data and try again.')) except Exception, exc: messages.error(request, _(u'Error executing bootstrap setup; %s') % exc) else: @@ -173,7 +178,7 @@ def bootstrap_setup_execute(request, bootstrap_setup_pk): 'object': bootstrap_setup, } - context['title'] = _(u'Are you sure you wish to execute the database bootstrap named: %s?') % bootstrap_setup + context['title'] = _(u'Are you sure you wish to execute the database bootstrap setup named: %s?') % bootstrap_setup return render_to_response('generic_confirm.html', context, context_instance=RequestContext(request)) @@ -189,11 +194,11 @@ def bootstrap_setup_dump(request): try: bootstrap.fixture = BootstrapSetup.objects.dump(serialization_format=bootstrap.type) except Exception as exception: - messages.error(request, _(u'Error dumping bootstrap setup; %s') % exception) + messages.error(request, _(u'Error dumping configuration into a bootstrap setup; %s') % exception) raise else: bootstrap.save() - messages.success(request, _(u'Bootstrap created successfully.')) + messages.success(request, _(u'Bootstrap setup created successfully.')) return HttpResponseRedirect(reverse('bootstrap_setup_list')) else: form = BootstrapSetupForm_dump() @@ -205,6 +210,80 @@ def bootstrap_setup_dump(request): context_instance=RequestContext(request)) +def bootstrap_setup_export(request, bootstrap_setup_pk): + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + + bootstrap = get_object_or_404(BootstrapSetup, pk=bootstrap_setup_pk) + + try: + Permission.objects.check_permissions(request.user, [PERMISSION_BOOTSTRAP_EXPORT]) + except PermissionDenied: + AccessEntry.objects.check_access(PERMISSION_BOOTSTRAP_EXPORT, request.user, bootstrap) + + return serve_file( + request, + bootstrap.as_file(), + save_as=u'"%s"' % bootstrap.get_filename(), + content_type='text/plain; charset=us-ascii' + ) + + +def bootstrap_setup_import_from_file(request): + Permission.objects.check_permissions(request.user, [PERMISSION_BOOTSTRAP_IMPORT]) + + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + + if request.method == 'POST': + form = BootstrapFileImportForm(request.POST, request.FILES) + if form.is_valid(): + try: + BootstrapSetup.objects.import_from_file(request.FILES['file']) + messages.success(request, _(u'Bootstrap setup imported successfully.')) + return HttpResponseRedirect(reverse('bootstrap_setup_list')) + except NotABootstrapSetup: + messages.error(request, _(u'File is not a bootstrap setup.')) + except Exception as exception: + messages.error(request, _(u'Error importing bootstrap setup from file; %s.') % exception) + return HttpResponseRedirect(previous) + else: + form = BootstrapFileImportForm() + + return render_to_response('generic_form.html', { + 'title': _(u'Import bootstrap setup from file'), + 'form_icon': 'folder.png', + 'form': form, + 'previous': previous, + }, context_instance=RequestContext(request)) + + +def bootstrap_setup_import_from_url(request): + Permission.objects.check_permissions(request.user, [PERMISSION_BOOTSTRAP_IMPORT]) + + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + + if request.method == 'POST': + form = BootstrapURLImportForm(request.POST, request.FILES) + if form.is_valid(): + try: + BootstrapSetup.objects.import_from_url(form.cleaned_data['url']) + messages.success(request, _(u'Bootstrap setup imported successfully.')) + return HttpResponseRedirect(reverse('bootstrap_setup_list')) + except NotABootstrapSetup: + messages.error(request, _(u'Data from URL is not a bootstrap setup.')) + except Exception as exception: + messages.error(request, _(u'Error importing bootstrap setup from URL; %s.') % exception) + return HttpResponseRedirect(previous) + else: + form = BootstrapURLImportForm() + + return render_to_response('generic_form.html', { + 'title': _(u'Import bootstrap setup from URL'), + 'form_icon': 'folder.png', + 'form': form, + 'previous': previous, + }, context_instance=RequestContext(request)) + + def erase_database_view(request): Permission.objects.check_permissions(request.user, [PERMISSION_NUKE_DATABASE]) @@ -234,3 +313,31 @@ def erase_database_view(request): return render_to_response('generic_confirm.html', context, context_instance=RequestContext(request)) + + +def bootstrap_setup_repository_sync(request): + Permission.objects.check_permissions(request.user, [PERMISSION_BOOTSTRAP_REPOSITORY_SYNC]) + + post_action_redirect = reverse('bootstrap_setup_list') + + 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: + BootstrapSetup.objects.repository_sync() + messages.success(request, _(u'Bootstrap repository successfully synchronized.')) + except Exception, e: + messages.error(request, _(u'Bootstrap repository synchronization error: %(error)s') % {'error': e}) + + return HttpResponseRedirect(reverse('bootstrap_setup_list')) + + context = { + 'previous': previous, + 'next': next, + 'title': _(u'Are you sure you wish to synchronize with the bootstrap repository?'), + 'form_icon': 'world.png', + } + + return render_to_response('generic_confirm.html', context, + context_instance=RequestContext(request)) diff --git a/apps/checkouts/locale/bg/LC_MESSAGES/django.po b/apps/checkouts/locale/bg/LC_MESSAGES/django.po index 062d934666..8f03bda63c 100644 --- a/apps/checkouts/locale/bg/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/bg/LC_MESSAGES/django.po @@ -3,218 +3,224 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-10 15:47+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-10-17 09:35+0000\n" +"Last-Translator: Pavlin Koldamov \n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/mayan-edms/" "language/bg/)\n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: __init__.py:37 +#, fuzzy +msgid "Document checkouts" +msgstr "Проверка на документ" #: __init__.py:38 msgid "Check expired check out documents and checks them in." -msgstr "" +msgstr "Проверете изтеклите за проверки документи и ги регистрирайте отново." #: events.py:5 links.py:18 msgid "checkouts" -msgstr "" +msgstr "проверки" #: events.py:7 msgid "Document checked out" -msgstr "" +msgstr "Документът е проверен." #: events.py:8 #, python-format msgid "Document \"%(document)s\" checked out by %(fullname)s." -msgstr "" +msgstr "Докумнетът \"%(document)s\" е проверен от %(fullname)s." #: events.py:12 msgid "Document checked in" -msgstr "" +msgstr "Докъментът е регистриран" #: events.py:13 #, python-format msgid "Document \"%(document)s\" checked in by %(fullname)s." -msgstr "" +msgstr "Документът \"%(document)s\" е регистриран от %(fullname)s." #: events.py:17 msgid "Document automatically checked in" -msgstr "" +msgstr "Автоматично регистрирани документи" #: events.py:18 #, python-format msgid "Document \"%(document)s\" automatically checked in." -msgstr "" +msgstr "Документ \"%(document)s\" е автоматично регистриран." #: events.py:21 msgid "Document forcefully checked in" -msgstr "" +msgstr "Документът е принудително регистриран" #: events.py:22 #, python-format msgid "Document \"%(document)s\" forcefully checked in by %(fullname)s." -msgstr "" +msgstr "Документът \"%(document)s\" принудително регистриран от %(fullname)s." #: links.py:19 msgid "check out document" -msgstr "" +msgstr "проверка на документ" #: links.py:20 msgid "check in document" -msgstr "" +msgstr "регистриране на документ" #: links.py:21 msgid "check in/out" -msgstr "" +msgstr "регистриране/проверяване" #: literals.py:14 msgid "checked out" -msgstr "" +msgstr "проверен" #: literals.py:15 msgid "checked in/available" -msgstr "" +msgstr "регистриран/наличен" #: models.py:23 views.py:136 msgid "document" -msgstr "" +msgstr "документ" #: models.py:24 msgid "check out date and time" -msgstr "" +msgstr "дата и час на проверка" #: models.py:25 msgid "check out expiration date and time" -msgstr "" +msgstr "проверка на срока на валидност, дата и час" #: models.py:25 msgid "Amount of time to hold the document checked out in minutes." -msgstr "" +msgstr "Време за задържане на проверения документ в минути." #: models.py:30 msgid "block new version upload" -msgstr "" +msgstr "блокиране качването на нова версия" #: models.py:30 msgid "Do not allow new version of this document to be uploaded." -msgstr "" +msgstr "Забранете качването на нова версия на този документ." #: models.py:53 msgid "document checkout" -msgstr "" +msgstr "проверка на документ" #: models.py:54 msgid "document checkouts" -msgstr "" +msgstr "проверки на документ" #: permissions.py:7 msgid "Document checkout" -msgstr "" +msgstr "Проверка на документ" #: permissions.py:9 msgid "Check out documents" -msgstr "" +msgstr "Провери документи" #: permissions.py:10 msgid "Check in documents" -msgstr "" +msgstr "Регистрирай документи" #: permissions.py:11 msgid "Forcefully check in documents" -msgstr "" +msgstr "Регистрирай принудилтелно документи" #: permissions.py:12 msgid "Allow overriding check out restrictions" -msgstr "" +msgstr "Разреши проверки незвисимо от забрана" #: views.py:32 msgid "checked out documents" -msgstr "" +msgstr "проверени документи" #: views.py:35 msgid "checkout user" -msgstr "" +msgstr "отписване потребител" #: views.py:36 msgid "checkout time and date" -msgstr "" +msgstr "отписване, час и дата" #: views.py:37 msgid "checkout expiration" -msgstr "" +msgstr "проверка срок на валидност" #: views.py:54 #, python-format msgid "User: %s" -msgstr "" +msgstr "Потребител: %s" #: views.py:55 #, python-format msgid "Check out time: %s" -msgstr "" +msgstr "Време на отписване: %s" #: views.py:56 #, python-format msgid "Check out expiration: %s" -msgstr "" +msgstr "Проверка срок на валидност: %s" #: views.py:57 #, python-format msgid "New versions allowed: %s" -msgstr "" +msgstr "Разрешени нови версии: %s" #: views.py:57 msgid "yes" -msgstr "" +msgstr "да" #: views.py:57 msgid "no" -msgstr "" +msgstr "не" #: views.py:62 #, python-format msgid "Check out details for document: %s" -msgstr "" +msgstr "Данни от проверката на документ: %s" #: views.py:82 #, python-format msgid "Error trying to check out document; %s" -msgstr "" +msgstr "Грешка при проверка на документ; %s" #: views.py:84 #, python-format msgid "Document \"%s\" checked out successfully." -msgstr "" +msgstr "Документ \"%s\" проверен успешно." #: views.py:87 msgid "Document already checked out." -msgstr "" +msgstr "Документът вече е проверен." #: views.py:95 #, python-format msgid "Check out document: %s" -msgstr "" +msgstr "Провери документ: %s" #: views.py:121 views.py:128 msgid "Document has not been checked out." -msgstr "" +msgstr "Документът не е проверяван." #: views.py:130 #, python-format msgid "Error trying to check in document; %s" -msgstr "" +msgstr "Грешка при регистрация на документ; %s" #: views.py:132 #, python-format msgid "Document \"%s\" checked in successfully." -msgstr "" +msgstr "Документ \"%s\" е регистриран успешно." #: views.py:145 #, python-format @@ -222,51 +228,55 @@ msgid "" "You didn't originally checked out this document. Are you sure you wish to " "forcefully check in document: %s?" msgstr "" +"Проверката на този документ не е извършвана от Вас. Сигурни ли сте, че " +"искате принудително да регистрирате документа: %s?" #: views.py:147 #, python-format msgid "Are you sure you wish to check in document: %s?" -msgstr "" +msgstr "Сигурни ли сте, че искате да регистрирате този документ: %s?" #: widgets.py:18 #, python-format msgid "Document status: %(widget)s %(text)s" -msgstr "" +msgstr "Статус на документа: %(widget)s %(text)s" #: widgets.py:30 msgid "Days" -msgstr "" +msgstr "Дни" #: widgets.py:31 msgid "Hours" -msgstr "" +msgstr "Часове" #: widgets.py:32 msgid "Minutes" -msgstr "" +msgstr "Минути" #: widgets.py:62 msgid "Enter a valid number of days." -msgstr "" +msgstr "Въведете валиден брой дни." #: widgets.py:63 msgid "Enter a valid number of hours." -msgstr "" +msgstr "Въведете валиден брой часове." #: widgets.py:64 msgid "Enter a valid number of minutes." -msgstr "" +msgstr "Въведете валиден брой минути." #: widgets.py:65 msgid "Enter a valid time difference." -msgstr "" +msgstr "Въведете валидна времева разлика." #: widgets.py:88 msgid "" "Amount of time to hold the document in the checked out state in days, hours " "and/or minutes." msgstr "" +"Време за задържане на документа в състояние проверен, в дни, часове и/или " +"минути." #: widgets.py:89 msgid "Check out expiration date and time" -msgstr "" +msgstr "Проверете срока на валидност" diff --git a/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po b/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po index 115cb467da..537b3e3834 100644 --- a/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po @@ -3,24 +3,30 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-10 15:47+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-09-20 07:45+0000\n" +"Last-Translator: Manticor \n" "Language-Team: German (Germany) (http://www.transifex.com/projects/p/mayan-" "edms/language/de_DE/)\n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: __init__.py:37 +#, fuzzy +msgid "Document checkouts" +msgstr "Dokument wurde ausgecheckt" #: __init__.py:38 msgid "Check expired check out documents and checks them in." -msgstr "" +msgstr "Überprüfe, ob die Frist für ausgecheckte Dokumente abgelaufen ist. " #: events.py:5 links.py:18 msgid "checkouts" @@ -28,39 +34,40 @@ msgstr "" #: events.py:7 msgid "Document checked out" -msgstr "" +msgstr "Dokument wurde ausgecheckt" #: events.py:8 #, python-format msgid "Document \"%(document)s\" checked out by %(fullname)s." -msgstr "" +msgstr "Dokument \"%(document)s\" wurde von %(fullname)s ausgecheckt." #: events.py:12 msgid "Document checked in" -msgstr "" +msgstr "Dokument wurde eingecheckt" #: events.py:13 #, python-format msgid "Document \"%(document)s\" checked in by %(fullname)s." -msgstr "" +msgstr "Dokument \"%(document)s\" wude von %(fullname)s eingecheckt." #: events.py:17 msgid "Document automatically checked in" -msgstr "" +msgstr "Dokument automatisch eingecheckt" #: events.py:18 #, python-format msgid "Document \"%(document)s\" automatically checked in." -msgstr "" +msgstr "Dokument \"%(document)s\" automatisch eingecheckt." #: events.py:21 msgid "Document forcefully checked in" -msgstr "" +msgstr "Dokument \"gewaltsam\" eingecheckt" #: events.py:22 #, python-format msgid "Document \"%(document)s\" forcefully checked in by %(fullname)s." msgstr "" +"Dokument \" %(document)s \" \"gewaltsam\" durch %(fullname)s eingecheckt." #: links.py:19 msgid "check out document" diff --git a/apps/checkouts/locale/en/LC_MESSAGES/django.po b/apps/checkouts/locale/en/LC_MESSAGES/django.po index b85e1f6b92..4ed6e1450d 100644 --- a/apps/checkouts/locale/en/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,10 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: __init__.py:37 +msgid "Document checkouts" +msgstr "" + #: __init__.py:38 msgid "Check expired check out documents and checks them in." msgstr "" diff --git a/apps/checkouts/locale/es/LC_MESSAGES/django.po b/apps/checkouts/locale/es/LC_MESSAGES/django.po index 783a76fba7..21543ff425 100644 --- a/apps/checkouts/locale/es/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-07-10 16:11+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/mayan-edms/" @@ -17,7 +17,12 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: __init__.py:37 +#, fuzzy +msgid "Document checkouts" +msgstr "Reservación de documentos" #: __init__.py:38 msgid "Check expired check out documents and checks them in." diff --git a/apps/checkouts/locale/fr/LC_MESSAGES/django.po b/apps/checkouts/locale/fr/LC_MESSAGES/django.po index 52f498d7d4..bf13e80e4b 100644 --- a/apps/checkouts/locale/fr/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/fr/LC_MESSAGES/django.po @@ -1,26 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Pierre Lhoste , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" -"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" -"POT-Creation-Date: 2012-07-26 23:54-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-07-28 14:44+0000\n" "Last-Translator: Pierre Lhoste \n" -"Language-Team: French (http://www.transifex.com/projects/p/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/projects/p/mayan-edms/" +"language/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: __init__.py:37 +#, fuzzy +msgid "Document checkouts" +msgstr "Verrouillage du document" #: __init__.py:38 msgid "Check expired check out documents and checks them in." -msgstr "Vérifier les documents retirés aux modifications, dont la période de verrou expiré, et les remettre dans l'état modifiable." +msgstr "" +"Vérifier les documents retirés aux modifications, dont la période de verrou " +"expiré, et les remettre dans l'état modifiable." #: events.py:5 links.py:18 msgid "checkouts" @@ -221,7 +229,9 @@ msgstr "Document \"%s\" déverrouillé avec succès." msgid "" "You didn't originally checked out this document. Are you sure you wish to " "forcefully check in document: %s?" -msgstr "Ce n'est pas vous qui avec posé le verrou sur ce document. Êtes vous certain de vouloir forcer le déverrouillage de: %s?" +msgstr "" +"Ce n'est pas vous qui avec posé le verrou sur ce document. Êtes vous certain " +"de vouloir forcer le déverrouillage de: %s?" #: views.py:147 #, python-format @@ -265,7 +275,9 @@ msgstr "Saisissez un intervalle de temps valide." msgid "" "Amount of time to hold the document in the checked out state in days, hours " "and/or minutes." -msgstr "Durée pendant laquelle conserver le verrou sur le document en jours, heures et/ou minutes." +msgstr "" +"Durée pendant laquelle conserver le verrou sur le document en jours, heures " +"et/ou minutes." #: widgets.py:89 msgid "Check out expiration date and time" diff --git a/apps/checkouts/locale/it/LC_MESSAGES/django.po b/apps/checkouts/locale/it/LC_MESSAGES/django.po index 0674ca2b4c..62712b03e5 100644 --- a/apps/checkouts/locale/it/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/it/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-07-10 15:47+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Italian (http://www.transifex.com/projects/p/mayan-edms/" @@ -16,7 +16,11 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: __init__.py:37 +msgid "Document checkouts" +msgstr "" #: __init__.py:38 msgid "Check expired check out documents and checks them in." diff --git a/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po b/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po index ca9002016f..d7003ccb5b 100644 --- a/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-07-10 15:47+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" @@ -16,7 +16,11 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: __init__.py:37 +msgid "Document checkouts" +msgstr "" #: __init__.py:38 msgid "Check expired check out documents and checks them in." diff --git a/apps/checkouts/locale/pl/LC_MESSAGES/django.po b/apps/checkouts/locale/pl/LC_MESSAGES/django.po index 2403703439..5e12372a30 100644 --- a/apps/checkouts/locale/pl/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/pl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-07-10 15:47+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Polish (http://www.transifex.com/projects/p/mayan-edms/" @@ -17,7 +17,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2)\n" +"|| n%100>=20) ? 1 : 2);\n" + +#: __init__.py:37 +msgid "Document checkouts" +msgstr "" #: __init__.py:38 msgid "Check expired check out documents and checks them in." diff --git a/apps/checkouts/locale/pt/LC_MESSAGES/django.po b/apps/checkouts/locale/pt/LC_MESSAGES/django.po index 8685ce4184..799bc323ea 100644 --- a/apps/checkouts/locale/pt/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/pt/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-07-10 15:47+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/mayan-edms/" @@ -16,7 +16,11 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: __init__.py:37 +msgid "Document checkouts" +msgstr "" #: __init__.py:38 msgid "Check expired check out documents and checks them in." diff --git a/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po b/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po index ccb0475f6f..335cb33d87 100644 --- a/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: 2012-07-10 15:47+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" @@ -16,7 +16,11 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: __init__.py:37 +msgid "Document checkouts" +msgstr "" #: __init__.py:38 msgid "Check expired check out documents and checks them in." diff --git a/apps/checkouts/locale/ru/LC_MESSAGES/django.po b/apps/checkouts/locale/ru/LC_MESSAGES/django.po index e02ba6f9ce..e6d91ba405 100644 --- a/apps/checkouts/locale/ru/LC_MESSAGES/django.po +++ b/apps/checkouts/locale/ru/LC_MESSAGES/django.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Sergey Glita , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:45-0400\n" -"PO-Revision-Date: 2012-07-10 15:47+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-10-10 07:30+0000\n" +"Last-Translator: Sergey Glita \n" "Language-Team: Russian (http://www.transifex.com/projects/p/mayan-edms/" "language/ru/)\n" "Language: ru\n" @@ -17,55 +18,60 @@ msgstr "" "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" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: __init__.py:37 +#, fuzzy +msgid "Document checkouts" +msgstr "Документ забронирован" #: __init__.py:38 msgid "Check expired check out documents and checks them in." -msgstr "" +msgstr "Проверка истечения бронирования документов" #: events.py:5 links.py:18 msgid "checkouts" -msgstr "" +msgstr "бронирование" #: events.py:7 msgid "Document checked out" -msgstr "" +msgstr "Документ забронирован" #: events.py:8 #, python-format msgid "Document \"%(document)s\" checked out by %(fullname)s." -msgstr "" +msgstr "Документ \"%(document)s\" забронировал %(fullname)s." #: events.py:12 msgid "Document checked in" -msgstr "" +msgstr "Документ проверен" #: events.py:13 #, python-format msgid "Document \"%(document)s\" checked in by %(fullname)s." -msgstr "" +msgstr "Документ \"%(document)s\" проверил %(fullname)s." #: events.py:17 msgid "Document automatically checked in" -msgstr "" +msgstr "Документ проверен автоматически" #: events.py:18 #, python-format msgid "Document \"%(document)s\" automatically checked in." -msgstr "" +msgstr "Документ \"%(document)s\" проверен автоматически" #: events.py:21 msgid "Document forcefully checked in" -msgstr "" +msgstr "Документ проверен по требованию" #: events.py:22 #, python-format msgid "Document \"%(document)s\" forcefully checked in by %(fullname)s." -msgstr "" +msgstr "Документ \"%(document)s\" проверен %(fullname)s." #: links.py:19 msgid "check out document" -msgstr "" +msgstr "бронирование документа" #: links.py:20 msgid "check in document" @@ -85,7 +91,7 @@ msgstr "" #: models.py:23 views.py:136 msgid "document" -msgstr "" +msgstr "документ" #: models.py:24 msgid "check out date and time" diff --git a/apps/clustering/locale/bg/LC_MESSAGES/django.po b/apps/clustering/locale/bg/LC_MESSAGES/django.po index a34077eeec..e3de961dfa 100644 --- a/apps/clustering/locale/bg/LC_MESSAGES/django.po +++ b/apps/clustering/locale/bg/LC_MESSAGES/django.po @@ -1,133 +1,138 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: +# , 2012. msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-10-17 10:57+0000\n" +"Last-Translator: Pavlin Koldamov \n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 -msgid "clustering" -msgstr "" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: links.py:10 -msgid "node list" -msgstr "" +msgid "clustering" +msgstr "клъстериране" #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" -msgstr "" +msgid "node list" +msgstr "списък с нодове" #: literals.py:11 msgid "healthy" -msgstr "" +msgstr "състояние" #: literals.py:12 msgid "dead" -msgstr "" +msgstr "спрял" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" -msgstr "" +msgstr "име на хост" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" -msgstr "" +msgstr "натоварване процесор" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" -msgstr "" +msgstr "последна проверка на пулса" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" -msgstr "" +msgstr "използвана памет" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" -msgstr "" +msgstr "статус" -#: models.py:78 +#: models.py:86 msgid "node" -msgstr "" +msgstr "нод" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" -msgstr "" +msgstr "нодове" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" +msgstr "Клъстериране" -#: models.py:93 +#: permissions.py:8 +msgid "View the nodes in a Mayan cluster" +msgstr "Прегледайте нодовете в Mayan клъстер" + +#: permissions.py:9 +msgid "Edit the configuration of a Mayan cluster" +msgstr "Редактирайте конфигурацията на Mayan клъстер" + +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "Обновете данните на нода." + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "Проверете за неработещи нодове в клъстерния списък." + +#: registry.py:13 +#, fuzzy +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "Прегледайте нодовете в Mayan клъстер" + +#: registry.py:21 +#, fuzzy +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "интервал от време за обновяване на пулса на нод от клъстера" + +#: registry.py:27 msgid "" "After this amount of time a node without heartbeat updates is considered " "dead and removed from the cluster node list." msgstr "" +"След този интервал от време, нод без обновен пулс ще се приема за спрял и ще " +"бъде премахнат от списъка с нодове на клъстера." -#: models.py:94 +#: registry.py:33 msgid "" "Interval of time to check the cluster for unresponsive nodes and remove them " "from the cluster." msgstr "" +"Интервал от време за проверка на клъстера за неработещи нодове и " +"премахването им от клъстера." -#: models.py:99 models.py:106 -msgid "clustering config" -msgstr "" - -#: permissions.py:8 -msgid "View the nodes in a Mayan cluster" -msgstr "" - -#: permissions.py:9 -msgid "Edit the configuration of a Mayan cluster" -msgstr "" - -#: views.py:37 +#: views.py:36 msgid "heartbeat" -msgstr "" +msgstr "пулс" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" -msgstr "" +msgstr "процеси за нод: %s" -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" +#~ msgid "edit cluster configuration" +#~ msgstr "редактиране конфигурацията на клъстер" -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" +#~ msgid "cluster configuration" +#~ msgstr "конфигурация клъстер" -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" +#~ msgid "clustering config" +#~ msgstr "конфигурация клъстериране" + +#~ msgid "Error trying to edit cluster configuration; %s" +#~ msgstr "Грешка при редактиране на конфигурацията на клъстер; %s" + +#~ msgid "Cluster configuration edited successfully." +#~ msgstr "Конфигурацията на клъстера е редактирана успешно." + +#~ msgid "Edit cluster configuration" +#~ msgstr "Редактирайте конфигурацията на клъстер" diff --git a/apps/clustering/locale/de_DE/LC_MESSAGES/django.po b/apps/clustering/locale/de_DE/LC_MESSAGES/django.po index 7b026a466f..ab64ec9bc7 100644 --- a/apps/clustering/locale/de_DE/LC_MESSAGES/django.po +++ b/apps/clustering/locale/de_DE/LC_MESSAGES/django.po @@ -1,48 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-08-06 02:46+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 +#: links.py:10 msgid "clustering" msgstr "" -#: links.py:10 -msgid "node list" -msgstr "" - #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" +msgid "node list" msgstr "" #: literals.py:11 @@ -53,52 +34,36 @@ msgstr "" msgid "dead" msgstr "" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" msgstr "" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" msgstr "" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" msgstr "" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" msgstr "" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" msgstr "" -#: models.py:78 +#: models.py:86 msgid "node" msgstr "" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" msgstr "" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" - -#: models.py:93 -msgid "" -"After this amount of time a node without heartbeat updates is considered " -"dead and removed from the cluster node list." -msgstr "" - -#: models.py:94 -msgid "" -"Interval of time to check the cluster for unresponsive nodes and remove them " -"from the cluster." -msgstr "" - -#: models.py:99 models.py:106 -msgid "clustering config" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" msgstr "" #: permissions.py:8 @@ -109,24 +74,40 @@ msgstr "" msgid "Edit the configuration of a Mayan cluster" msgstr "" -#: views.py:37 +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "" + +#: registry.py:13 +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "" + +#: registry.py:21 +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" + +#: registry.py:27 +msgid "" +"After this amount of time a node without heartbeat updates is considered " +"dead and removed from the cluster node list." +msgstr "" + +#: registry.py:33 +msgid "" +"Interval of time to check the cluster for unresponsive nodes and remove them " +"from the cluster." +msgstr "" + +#: views.py:36 msgid "heartbeat" msgstr "" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" msgstr "" - -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" - -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" - -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" diff --git a/apps/clustering/locale/en/LC_MESSAGES/django.po b/apps/clustering/locale/en/LC_MESSAGES/django.po index 7b026a466f..374263e610 100644 --- a/apps/clustering/locale/en/LC_MESSAGES/django.po +++ b/apps/clustering/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,32 +17,12 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 +#: links.py:10 msgid "clustering" msgstr "" -#: links.py:10 -msgid "node list" -msgstr "" - #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" +msgid "node list" msgstr "" #: literals.py:11 @@ -53,52 +33,36 @@ msgstr "" msgid "dead" msgstr "" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" msgstr "" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" msgstr "" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" msgstr "" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" msgstr "" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" msgstr "" -#: models.py:78 +#: models.py:86 msgid "node" msgstr "" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" msgstr "" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" - -#: models.py:93 -msgid "" -"After this amount of time a node without heartbeat updates is considered " -"dead and removed from the cluster node list." -msgstr "" - -#: models.py:94 -msgid "" -"Interval of time to check the cluster for unresponsive nodes and remove them " -"from the cluster." -msgstr "" - -#: models.py:99 models.py:106 -msgid "clustering config" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" msgstr "" #: permissions.py:8 @@ -109,24 +73,40 @@ msgstr "" msgid "Edit the configuration of a Mayan cluster" msgstr "" -#: views.py:37 +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "" + +#: registry.py:13 +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "" + +#: registry.py:21 +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" + +#: registry.py:27 +msgid "" +"After this amount of time a node without heartbeat updates is considered " +"dead and removed from the cluster node list." +msgstr "" + +#: registry.py:33 +msgid "" +"Interval of time to check the cluster for unresponsive nodes and remove them " +"from the cluster." +msgstr "" + +#: views.py:36 msgid "heartbeat" msgstr "" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" msgstr "" - -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" - -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" - -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" diff --git a/apps/clustering/locale/es/LC_MESSAGES/django.po b/apps/clustering/locale/es/LC_MESSAGES/django.po index a34077eeec..afdf386594 100644 --- a/apps/clustering/locale/es/LC_MESSAGES/django.po +++ b/apps/clustering/locale/es/LC_MESSAGES/django.po @@ -1,49 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-08-06 02:46+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 +#: links.py:10 msgid "clustering" msgstr "" -#: links.py:10 -msgid "node list" -msgstr "" - #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" +msgid "node list" msgstr "" #: literals.py:11 @@ -54,52 +34,36 @@ msgstr "" msgid "dead" msgstr "" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" msgstr "" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" msgstr "" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" msgstr "" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" msgstr "" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" msgstr "" -#: models.py:78 +#: models.py:86 msgid "node" msgstr "" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" msgstr "" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" - -#: models.py:93 -msgid "" -"After this amount of time a node without heartbeat updates is considered " -"dead and removed from the cluster node list." -msgstr "" - -#: models.py:94 -msgid "" -"Interval of time to check the cluster for unresponsive nodes and remove them " -"from the cluster." -msgstr "" - -#: models.py:99 models.py:106 -msgid "clustering config" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" msgstr "" #: permissions.py:8 @@ -110,24 +74,40 @@ msgstr "" msgid "Edit the configuration of a Mayan cluster" msgstr "" -#: views.py:37 +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "" + +#: registry.py:13 +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "" + +#: registry.py:21 +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" + +#: registry.py:27 +msgid "" +"After this amount of time a node without heartbeat updates is considered " +"dead and removed from the cluster node list." +msgstr "" + +#: registry.py:33 +msgid "" +"Interval of time to check the cluster for unresponsive nodes and remove them " +"from the cluster." +msgstr "" + +#: views.py:36 msgid "heartbeat" msgstr "" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" msgstr "" - -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" - -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" - -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" diff --git a/apps/clustering/locale/fr/LC_MESSAGES/django.po b/apps/clustering/locale/fr/LC_MESSAGES/django.po index 56f333ad2b..6431e7fea7 100644 --- a/apps/clustering/locale/fr/LC_MESSAGES/django.po +++ b/apps/clustering/locale/fr/LC_MESSAGES/django.po @@ -1,133 +1,139 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: +# Pierre Lhoste , 2012. msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-08-07 13:07+0000\n" +"Last-Translator: Pierre Lhoste \n" +"Language-Team: French (http://www.transifex.com/projects/p/mayan-edms/" +"language/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 -msgid "clustering" -msgstr "" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: links.py:10 -msgid "node list" -msgstr "" +msgid "clustering" +msgstr "clustering" #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" -msgstr "" +msgid "node list" +msgstr "liste de noeuds" #: literals.py:11 msgid "healthy" -msgstr "" +msgstr "sain" #: literals.py:12 msgid "dead" -msgstr "" +msgstr "mort" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" -msgstr "" +msgstr "nom d'hôte" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" -msgstr "" +msgstr "charge cpu" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" -msgstr "" +msgstr "dernière vérification de l'état" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" -msgstr "" +msgstr "utilisation mémoire" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" -msgstr "" +msgstr "état" -#: models.py:78 +#: models.py:86 msgid "node" -msgstr "" +msgstr "noeud" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" -msgstr "" +msgstr "noeuds" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" +msgstr "Clustering" -#: models.py:93 +#: permissions.py:8 +msgid "View the nodes in a Mayan cluster" +msgstr "Afficher les noeuds dans un cluster Mayan" + +#: permissions.py:9 +msgid "Edit the configuration of a Mayan cluster" +msgstr "Modifier la configuration d'un cluster Mayan" + +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "Mettre à jour les paramètres d'un noeud" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "Déterminer les noeuds inactifs dans le la liste du cluster" + +#: registry.py:13 +#, fuzzy +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "Afficher les noeuds dans un cluster Mayan" + +#: registry.py:21 +#, fuzzy +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" +"Intervalle de temps entre deux signalements de l'état du noeud au cluster" + +#: registry.py:27 msgid "" "After this amount of time a node without heartbeat updates is considered " "dead and removed from the cluster node list." msgstr "" +"Après cette durée un noeud qui n'a pas signalé son état est considéré comme " +"mort et retiré de la liste du cluster" -#: models.py:94 +#: registry.py:33 msgid "" "Interval of time to check the cluster for unresponsive nodes and remove them " "from the cluster." msgstr "" +"Intervalle de temps entre deux vérification des noeuds morts du cluster " +"avant de retirer ces derniers du cluster" -#: models.py:99 models.py:106 -msgid "clustering config" -msgstr "" - -#: permissions.py:8 -msgid "View the nodes in a Mayan cluster" -msgstr "" - -#: permissions.py:9 -msgid "Edit the configuration of a Mayan cluster" -msgstr "" - -#: views.py:37 +#: views.py:36 msgid "heartbeat" -msgstr "" +msgstr "signalement d'état" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" -msgstr "" +msgstr "workers pour le noeud: %s" -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" +#~ msgid "edit cluster configuration" +#~ msgstr "modifier configuration du cluster" -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" +#~ msgid "cluster configuration" +#~ msgstr "configuration du cluster" -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" +#~ msgid "clustering config" +#~ msgstr "config de cluster" + +#~ msgid "Error trying to edit cluster configuration; %s" +#~ msgstr "Erreur de modification de configuration du cluster; %s" + +#~ msgid "Cluster configuration edited successfully." +#~ msgstr "Configuration du cluster modifiée avec succès." + +#~ msgid "Edit cluster configuration" +#~ msgstr "Modifier la configuration du cluster" diff --git a/apps/clustering/locale/it/LC_MESSAGES/django.po b/apps/clustering/locale/it/LC_MESSAGES/django.po index a34077eeec..8179b7f76a 100644 --- a/apps/clustering/locale/it/LC_MESSAGES/django.po +++ b/apps/clustering/locale/it/LC_MESSAGES/django.po @@ -1,49 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-08-06 02:46+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Language-Team: Italian (http://www.transifex.com/projects/p/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 +#: links.py:10 msgid "clustering" msgstr "" -#: links.py:10 -msgid "node list" -msgstr "" - #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" +msgid "node list" msgstr "" #: literals.py:11 @@ -54,52 +34,36 @@ msgstr "" msgid "dead" msgstr "" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" msgstr "" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" msgstr "" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" msgstr "" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" msgstr "" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" msgstr "" -#: models.py:78 +#: models.py:86 msgid "node" msgstr "" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" msgstr "" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" - -#: models.py:93 -msgid "" -"After this amount of time a node without heartbeat updates is considered " -"dead and removed from the cluster node list." -msgstr "" - -#: models.py:94 -msgid "" -"Interval of time to check the cluster for unresponsive nodes and remove them " -"from the cluster." -msgstr "" - -#: models.py:99 models.py:106 -msgid "clustering config" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" msgstr "" #: permissions.py:8 @@ -110,24 +74,40 @@ msgstr "" msgid "Edit the configuration of a Mayan cluster" msgstr "" -#: views.py:37 +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "" + +#: registry.py:13 +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "" + +#: registry.py:21 +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" + +#: registry.py:27 +msgid "" +"After this amount of time a node without heartbeat updates is considered " +"dead and removed from the cluster node list." +msgstr "" + +#: registry.py:33 +msgid "" +"Interval of time to check the cluster for unresponsive nodes and remove them " +"from the cluster." +msgstr "" + +#: views.py:36 msgid "heartbeat" msgstr "" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" msgstr "" - -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" - -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" - -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" diff --git a/apps/clustering/locale/nl_NL/LC_MESSAGES/django.po b/apps/clustering/locale/nl_NL/LC_MESSAGES/django.po index 7b026a466f..23df957a44 100644 --- a/apps/clustering/locale/nl_NL/LC_MESSAGES/django.po +++ b/apps/clustering/locale/nl_NL/LC_MESSAGES/django.po @@ -1,48 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-08-06 02:46+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" +"mayan-edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 +#: links.py:10 msgid "clustering" msgstr "" -#: links.py:10 -msgid "node list" -msgstr "" - #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" +msgid "node list" msgstr "" #: literals.py:11 @@ -53,52 +34,36 @@ msgstr "" msgid "dead" msgstr "" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" msgstr "" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" msgstr "" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" msgstr "" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" msgstr "" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" msgstr "" -#: models.py:78 +#: models.py:86 msgid "node" msgstr "" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" msgstr "" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" - -#: models.py:93 -msgid "" -"After this amount of time a node without heartbeat updates is considered " -"dead and removed from the cluster node list." -msgstr "" - -#: models.py:94 -msgid "" -"Interval of time to check the cluster for unresponsive nodes and remove them " -"from the cluster." -msgstr "" - -#: models.py:99 models.py:106 -msgid "clustering config" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" msgstr "" #: permissions.py:8 @@ -109,24 +74,40 @@ msgstr "" msgid "Edit the configuration of a Mayan cluster" msgstr "" -#: views.py:37 +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "" + +#: registry.py:13 +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "" + +#: registry.py:21 +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" + +#: registry.py:27 +msgid "" +"After this amount of time a node without heartbeat updates is considered " +"dead and removed from the cluster node list." +msgstr "" + +#: registry.py:33 +msgid "" +"Interval of time to check the cluster for unresponsive nodes and remove them " +"from the cluster." +msgstr "" + +#: views.py:36 msgid "heartbeat" msgstr "" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" msgstr "" - -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" - -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" - -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" diff --git a/apps/clustering/locale/pl/LC_MESSAGES/django.po b/apps/clustering/locale/pl/LC_MESSAGES/django.po index 2830cfe032..2e8707edcf 100644 --- a/apps/clustering/locale/pl/LC_MESSAGES/django.po +++ b/apps/clustering/locale/pl/LC_MESSAGES/django.po @@ -1,50 +1,30 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-08-06 02:46+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Language-Team: Polish (http://www.transifex.com/projects/p/mayan-edms/" +"language/pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2)\n" +"|| n%100>=20) ? 1 : 2);\n" -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 +#: links.py:10 msgid "clustering" msgstr "" -#: links.py:10 -msgid "node list" -msgstr "" - #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" +msgid "node list" msgstr "" #: literals.py:11 @@ -55,52 +35,36 @@ msgstr "" msgid "dead" msgstr "" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" msgstr "" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" msgstr "" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" msgstr "" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" msgstr "" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" msgstr "" -#: models.py:78 +#: models.py:86 msgid "node" msgstr "" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" msgstr "" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" - -#: models.py:93 -msgid "" -"After this amount of time a node without heartbeat updates is considered " -"dead and removed from the cluster node list." -msgstr "" - -#: models.py:94 -msgid "" -"Interval of time to check the cluster for unresponsive nodes and remove them " -"from the cluster." -msgstr "" - -#: models.py:99 models.py:106 -msgid "clustering config" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" msgstr "" #: permissions.py:8 @@ -111,24 +75,40 @@ msgstr "" msgid "Edit the configuration of a Mayan cluster" msgstr "" -#: views.py:37 +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "" + +#: registry.py:13 +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "" + +#: registry.py:21 +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" + +#: registry.py:27 +msgid "" +"After this amount of time a node without heartbeat updates is considered " +"dead and removed from the cluster node list." +msgstr "" + +#: registry.py:33 +msgid "" +"Interval of time to check the cluster for unresponsive nodes and remove them " +"from the cluster." +msgstr "" + +#: views.py:36 msgid "heartbeat" msgstr "" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" msgstr "" - -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" - -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" - -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" diff --git a/apps/clustering/locale/pt/LC_MESSAGES/django.po b/apps/clustering/locale/pt/LC_MESSAGES/django.po index a34077eeec..a4ce2ddbe3 100644 --- a/apps/clustering/locale/pt/LC_MESSAGES/django.po +++ b/apps/clustering/locale/pt/LC_MESSAGES/django.po @@ -1,49 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-08-06 02:46+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 +#: links.py:10 msgid "clustering" msgstr "" -#: links.py:10 -msgid "node list" -msgstr "" - #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" +msgid "node list" msgstr "" #: literals.py:11 @@ -54,52 +34,36 @@ msgstr "" msgid "dead" msgstr "" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" msgstr "" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" msgstr "" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" msgstr "" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" msgstr "" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" msgstr "" -#: models.py:78 +#: models.py:86 msgid "node" msgstr "" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" msgstr "" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" - -#: models.py:93 -msgid "" -"After this amount of time a node without heartbeat updates is considered " -"dead and removed from the cluster node list." -msgstr "" - -#: models.py:94 -msgid "" -"Interval of time to check the cluster for unresponsive nodes and remove them " -"from the cluster." -msgstr "" - -#: models.py:99 models.py:106 -msgid "clustering config" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" msgstr "" #: permissions.py:8 @@ -110,24 +74,40 @@ msgstr "" msgid "Edit the configuration of a Mayan cluster" msgstr "" -#: views.py:37 +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "" + +#: registry.py:13 +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "" + +#: registry.py:21 +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" + +#: registry.py:27 +msgid "" +"After this amount of time a node without heartbeat updates is considered " +"dead and removed from the cluster node list." +msgstr "" + +#: registry.py:33 +msgid "" +"Interval of time to check the cluster for unresponsive nodes and remove them " +"from the cluster." +msgstr "" + +#: views.py:36 msgid "heartbeat" msgstr "" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" msgstr "" - -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" - -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" - -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" diff --git a/apps/clustering/locale/pt_BR/LC_MESSAGES/django.po b/apps/clustering/locale/pt_BR/LC_MESSAGES/django.po index 56f333ad2b..b1a7a00c3a 100644 --- a/apps/clustering/locale/pt_BR/LC_MESSAGES/django.po +++ b/apps/clustering/locale/pt_BR/LC_MESSAGES/django.po @@ -1,49 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-08-06 02:46+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"mayan-edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 +#: links.py:10 msgid "clustering" msgstr "" -#: links.py:10 -msgid "node list" -msgstr "" - #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" +msgid "node list" msgstr "" #: literals.py:11 @@ -54,52 +34,36 @@ msgstr "" msgid "dead" msgstr "" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" msgstr "" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" msgstr "" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" msgstr "" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" msgstr "" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" msgstr "" -#: models.py:78 +#: models.py:86 msgid "node" msgstr "" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" msgstr "" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" - -#: models.py:93 -msgid "" -"After this amount of time a node without heartbeat updates is considered " -"dead and removed from the cluster node list." -msgstr "" - -#: models.py:94 -msgid "" -"Interval of time to check the cluster for unresponsive nodes and remove them " -"from the cluster." -msgstr "" - -#: models.py:99 models.py:106 -msgid "clustering config" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" msgstr "" #: permissions.py:8 @@ -110,24 +74,40 @@ msgstr "" msgid "Edit the configuration of a Mayan cluster" msgstr "" -#: views.py:37 +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "" + +#: registry.py:13 +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "" + +#: registry.py:21 +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" + +#: registry.py:27 +msgid "" +"After this amount of time a node without heartbeat updates is considered " +"dead and removed from the cluster node list." +msgstr "" + +#: registry.py:33 +msgid "" +"Interval of time to check the cluster for unresponsive nodes and remove them " +"from the cluster." +msgstr "" + +#: views.py:36 msgid "heartbeat" msgstr "" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" msgstr "" - -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" - -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" - -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" diff --git a/apps/clustering/locale/ru/LC_MESSAGES/django.po b/apps/clustering/locale/ru/LC_MESSAGES/django.po index 191fd7dcaa..efbe670e9b 100644 --- a/apps/clustering/locale/ru/LC_MESSAGES/django.po +++ b/apps/clustering/locale/ru/LC_MESSAGES/django.po @@ -1,50 +1,30 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-05 22:42-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-08-06 02:46+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Language-Team: Russian (http://www.transifex.com/projects/p/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "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" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: __init__.py:18 permissions.py:7 -msgid "Clustering" -msgstr "" - -#: __init__.py:20 -msgid "Update a node's properties." -msgstr "" - -#: __init__.py:21 -msgid "Check for unresponsive nodes in the cluster list." -msgstr "" - -#: links.py:9 +#: links.py:10 msgid "clustering" msgstr "" -#: links.py:10 -msgid "node list" -msgstr "" - #: links.py:11 -msgid "edit cluster configuration" -msgstr "" - -#: links.py:12 -msgid "cluster configuration" +msgid "node list" msgstr "" #: literals.py:11 @@ -55,52 +35,36 @@ msgstr "" msgid "dead" msgstr "" -#: models.py:35 views.py:29 +#: models.py:43 views.py:28 msgid "hostname" msgstr "" -#: models.py:36 views.py:33 +#: models.py:44 views.py:32 msgid "cpu load" msgstr "" -#: models.py:37 +#: models.py:45 msgid "last heartbeat check" msgstr "" -#: models.py:38 views.py:41 +#: models.py:46 views.py:40 msgid "memory usage" msgstr "" -#: models.py:42 views.py:45 +#: models.py:50 views.py:44 msgid "state" msgstr "" -#: models.py:78 +#: models.py:86 msgid "node" msgstr "" -#: models.py:79 views.py:26 +#: models.py:87 views.py:25 msgid "nodes" msgstr "" -#: models.py:92 -msgid "Interval of time for the node's heartbeat update to the cluster." -msgstr "" - -#: models.py:93 -msgid "" -"After this amount of time a node without heartbeat updates is considered " -"dead and removed from the cluster node list." -msgstr "" - -#: models.py:94 -msgid "" -"Interval of time to check the cluster for unresponsive nodes and remove them " -"from the cluster." -msgstr "" - -#: models.py:99 models.py:106 -msgid "clustering config" +#: permissions.py:7 post_init.py:17 registry.py:12 +msgid "Clustering" msgstr "" #: permissions.py:8 @@ -111,24 +75,40 @@ msgstr "" msgid "Edit the configuration of a Mayan cluster" msgstr "" -#: views.py:37 +#: post_init.py:20 +msgid "Update a node's properties." +msgstr "" + +#: post_init.py:21 +msgid "Check for unresponsive nodes in the cluster list." +msgstr "" + +#: registry.py:13 +msgid "Registers nodes into a Citadel (Mayan EDMS cluster)." +msgstr "" + +#: registry.py:21 +msgid "" +"Interval of time (in seconds) for the node's heartbeat update to the cluster." +msgstr "" + +#: registry.py:27 +msgid "" +"After this amount of time a node without heartbeat updates is considered " +"dead and removed from the cluster node list." +msgstr "" + +#: registry.py:33 +msgid "" +"Interval of time to check the cluster for unresponsive nodes and remove them " +"from the cluster." +msgstr "" + +#: views.py:36 msgid "heartbeat" msgstr "" -#: views.py:66 +#: views.py:65 #, python-format msgid "workers for node: %s" msgstr "" - -#: views.py:92 -#, python-format -msgid "Error trying to edit cluster configuration; %s" -msgstr "" - -#: views.py:94 -msgid "Cluster configuration edited successfully." -msgstr "" - -#: views.py:102 -msgid "Edit cluster configuration" -msgstr "" diff --git a/apps/common/__init__.py b/apps/common/__init__.py index b8f953e275..34d264009f 100644 --- a/apps/common/__init__.py +++ b/apps/common/__init__.py @@ -2,10 +2,7 @@ from __future__ import absolute_import from django.conf import settings - from .debug import insert_pdb_exception_hook + if getattr(settings, 'DEBUG_ON_EXCEPTION', False): insert_pdb_exception_hook() - - - diff --git a/apps/common/forms.py b/apps/common/forms.py index 95f8a572dd..eafc0bdf24 100644 --- a/apps/common/forms.py +++ b/apps/common/forms.py @@ -49,10 +49,6 @@ class DetailForm(forms.ModelForm): queryset=getattr(field, 'queryset', None), ) self.fields[field_name].help_text = '' - elif isinstance(field.widget, forms.widgets.Textarea): - self.fields[field_name].widget = TextAreaDiv( - attrs=field.widget.attrs, - ) for field_name, field in self.fields.items(): self.fields[field_name].widget.attrs.update({'readonly': 'readonly'}) diff --git a/apps/common/locale/bg/LC_MESSAGES/django.po b/apps/common/locale/bg/LC_MESSAGES/django.po index 79053e2ba8..66484d1bbf 100644 --- a/apps/common/locale/bg/LC_MESSAGES/django.po +++ b/apps/common/locale/bg/LC_MESSAGES/django.po @@ -3,12 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:44-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/mayan-edms/" "language/bg/)\n" @@ -16,81 +17,77 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:29 links.py:17 -msgid "about" -msgstr "" - -#: forms.py:101 +#: forms.py:97 msgid "Selection" msgstr "" -#: forms.py:133 +#: forms.py:129 msgid "Email" -msgstr "" +msgstr "Електронна поща" -#: forms.py:144 +#: forms.py:140 msgid "" "Please enter a correct email and password. Note that the password fields is " "case-sensitive." msgstr "" -#: forms.py:146 +#: forms.py:142 msgid "This account is inactive." msgstr "" -#: links.py:14 -msgid "change password" -msgstr "" - -#: links.py:15 -msgid "user details" -msgstr "" - #: links.py:16 -msgid "edit details" -msgstr "" +msgid "change password" +msgstr "смяна на парола" + +#: links.py:17 +msgid "user details" +msgstr "потребителски данни" #: links.py:18 -msgid "license" -msgstr "" +msgid "edit details" +msgstr "промяна на данни" #: links.py:19 -msgid "sentry" -msgstr "" +msgid "about" +msgstr "относно" #: links.py:20 +msgid "license" +msgstr "лиценз" + +#: links.py:21 msgid "admin site" msgstr "" #: literals.py:24 msgid "A5" -msgstr "" +msgstr "A5" #: literals.py:25 msgid "A4" -msgstr "" +msgstr "A4" #: literals.py:26 msgid "A3" -msgstr "" +msgstr "A3" #: literals.py:27 msgid "B5" -msgstr "" +msgstr "B5" #: literals.py:28 msgid "B4" -msgstr "" +msgstr "B4" #: literals.py:29 msgid "Letter" -msgstr "" +msgstr "Letter" #: literals.py:30 msgid "Legal" -msgstr "" +msgstr "Legal" #: literals.py:31 msgid "Ledger" @@ -108,118 +105,110 @@ msgstr "" msgid "lock field" msgstr "" -#: models.py:45 +#: models.py:49 msgid "Anonymous user" -msgstr "" +msgstr "Анонимен потребител" -#: models.py:48 models.py:49 +#: models.py:52 models.py:53 msgid "anonymous user" -msgstr "" +msgstr "анонимен потребител" -#: models.py:53 -msgid "account" -msgstr "" - -#: models.py:54 -msgid "password" -msgstr "" - -#: models.py:55 -msgid "password hash" -msgstr "" - -#: models.py:58 -msgid "auto admin properties" -msgstr "" - -#: utils.py:299 -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:10 +#: registry.py:12 msgid "Common" msgstr "" -#: conf/settings.py:17 +#: registry.py:13 +msgid "Contains many commonly used models, views and utilities." +msgstr "" + +#: registry.py:21 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:61 -msgid "" -"Controls the mechanism used to authenticated user. Options are: username, " -"email" +#: registry.py:33 +msgid "Password of the superuser admin that will be created." msgstr "" -#: conf/settings.py:69 -msgid "Allow non authenticated users, access to all views" +#: registry.py:39 +msgid "" +"Controls the mechanism used to authenticated user. Options are: username, " +"email." msgstr "" +#: registry.py:45 +msgid "Allow non authenticated users, access to all views." +msgstr "" + +#: utils.py:299 +msgid "function found" +msgstr "" + +#: views.py:37 +msgid "No action selected." +msgstr "" + +#: views.py:41 +msgid "Must select at least one item." +msgstr "" + +#: views.py:89 +#, python-format +msgid "%(selection)s added successfully added to %(right_list_title)s." +msgstr "" + +#: views.py:95 views.py:122 +#, python-format +msgid "Unable to add %(selection)s to %(right_list_title)s." +msgstr "" + +#: views.py:116 +#, python-format +msgid "%(selection)s added successfully removed from %(right_list_title)s." +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "Добави" + +#: views.py:148 +msgid "Remove" +msgstr "Премахнете" + +#: views.py:171 +msgid "current user details" +msgstr "актуални данни на потребителя" + +#: views.py:188 +msgid "E-mail conflict, another user has that same email." +msgstr "" + +#: views.py:191 +msgid "Current user's details updated." +msgstr "" + +#: views.py:200 +msgid "edit current user details" +msgstr "редактиране на актуалните данни на потребителя" + +#: views.py:231 +msgid "License" +msgstr "Лиценз" + +#: views.py:240 +msgid "Current user password change" +msgstr "Промяна паролата на текущия потребител" + +#: views.py:255 templates/password_change_done.html:5 +msgid "Your password has been successfully changed." +msgstr "Вашата парола е сменена успешно." + +#: widgets.py:62 +msgid "None" +msgstr "Няма" + #: templates/403.html:3 templates/403.html.py:7 msgid "Insufficient permissions" msgstr "" @@ -230,7 +219,7 @@ msgstr "" #: templates/404.html:3 templates/404.html.py:7 msgid "Page not found" -msgstr "" +msgstr "Страницата не е намерена" #: templates/404.html:9 msgid "Sorry, but the requested page could not be found." @@ -253,7 +242,7 @@ msgstr "" #: templates/calculate_form_title.html:20 msgid "Edit" -msgstr "" +msgstr "Редактиране" #: templates/calculate_form_title.html:24 #, python-format @@ -262,7 +251,7 @@ msgstr "" #: templates/calculate_form_title.html:26 msgid "Create" -msgstr "" +msgstr "Създаване" #: templates/generic_assign_remove.html:3 #, python-format @@ -271,67 +260,61 @@ msgstr "" #: templates/generic_confirm.html:3 templates/generic_confirm.html.py:18 msgid "Confirm" -msgstr "" +msgstr "Потвърждаване" #: templates/generic_confirm.html:16 msgid "Confirm delete" -msgstr "" +msgstr "Потвърдете изтриване" -#: templates/generic_confirm.html:32 -msgid "form icon" -msgstr "" - -#: templates/generic_confirm.html:40 +#: templates/generic_confirm.html:41 #, python-format msgid "Are you sure you wish to delete %(object_name)s: %(object)s?" msgstr "" -#: templates/generic_confirm.html:42 +#: templates/generic_confirm.html:43 #, python-format msgid "Are you sure you wish to delete: %(object)s?" msgstr "" -#: templates/generic_confirm.html:50 +#: templates/generic_confirm.html:51 msgid "Yes" -msgstr "" +msgstr "Да" -#: templates/generic_confirm.html:54 +#: templates/generic_confirm.html:55 msgid "No" -msgstr "" +msgstr "Не" -#: templates/generic_form_instance.html:37 -#: templates/generic_form_subtemplate.html:56 +#: templates/generic_form_instance.html:38 +#: templates/generic_form_subtemplate.html:58 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:94 +#: templates/generic_form_subtemplate.html:85 +#: templates/generic_list_horizontal_subtemplate.html:48 +#: templates/generic_list_horizontal_subtemplate.html:91 #: templates/generic_list_subtemplate.html:55 #: templates/generic_list_subtemplate.html:189 msgid "Save" -msgstr "" +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:94 +#: templates/generic_form_subtemplate.html:85 +#: templates/generic_list_horizontal_subtemplate.html:48 +#: templates/generic_list_horizontal_subtemplate.html:91 #: templates/generic_list_subtemplate.html:55 #: templates/generic_list_subtemplate.html:189 msgid "Submit" -msgstr "" +msgstr "Подаване" -#: templates/generic_form_subtemplate.html:87 +#: templates/generic_form_subtemplate.html:96 msgid "Cancel" -msgstr "" +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_horizontal_subtemplate.html:20 #: templates/generic_list_subtemplate.html:25 #, python-format msgid "" @@ -339,13 +322,13 @@ msgid "" "%(page_number)s of %(total_pages)s)" msgstr "" -#: templates/generic_list_horizontal_subtemplate.html:25 +#: templates/generic_list_horizontal_subtemplate.html:22 #: templates/generic_list_subtemplate.html:27 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "" -#: templates/generic_list_horizontal_subtemplate.html:69 +#: templates/generic_list_horizontal_subtemplate.html:66 #: templates/generic_list_subtemplate.html:161 #, python-format msgid "There are no %(stripped_title)s" @@ -353,13 +336,16 @@ msgstr "" #: templates/generic_list_subtemplate.html:75 msgid "Identifier" -msgstr "" +msgstr "Идентификатор" #: templates/login.html:5 msgid "Login" -msgstr "" +msgstr "Влез" #: templates/password_change_done.html:3 templates/password_change_form.html:3 #: templates/password_change_form.html:5 msgid "Password change" -msgstr "" +msgstr "Промяна на паролата" + +#~ msgid "password" +#~ msgstr "парола" diff --git a/apps/common/locale/de_DE/LC_MESSAGES/django.po b/apps/common/locale/de_DE/LC_MESSAGES/django.po index bc4b80ed33..486cf994e4 100644 --- a/apps/common/locale/de_DE/LC_MESSAGES/django.po +++ b/apps/common/locale/de_DE/LC_MESSAGES/django.po @@ -3,12 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:44-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"POT-Creation-Date: 2012-12-14 04:18-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario \n" "Language-Team: German (Germany) (http://www.transifex.com/projects/p/mayan-" "edms/language/de_DE/)\n" @@ -16,73 +17,71 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:29 links.py:17 -msgid "about" -msgstr "" - -#: forms.py:101 +#: forms.py:97 msgid "Selection" -msgstr "" +msgstr "Auswahl" -#: forms.py:133 +#: forms.py:129 msgid "Email" -msgstr "" +msgstr "E-Mail" -#: forms.py:144 +#: forms.py:140 msgid "" "Please enter a correct email and password. Note that the password fields is " "case-sensitive." msgstr "" +"Bitte geben Sie Ihre E-Mailadresse und ein Passwort an. Beachten Sie, dass " +"die Passwortfelder Groß- und Kleinschreibung unterscheiden." -#: forms.py:146 +#: forms.py:142 msgid "This account is inactive." -msgstr "" - -#: links.py:14 -msgid "change password" -msgstr "" - -#: links.py:15 -msgid "user details" -msgstr "" +msgstr "Dieser Account ist inaktiv." #: links.py:16 -msgid "edit details" -msgstr "" +msgid "change password" +msgstr "Ändere Passwort" + +#: links.py:17 +msgid "user details" +msgstr "Benutzerdetails" #: links.py:18 -msgid "license" -msgstr "" +msgid "edit details" +msgstr "Bearbeite Details" #: links.py:19 -msgid "sentry" -msgstr "" +msgid "about" +msgstr "Über" #: links.py:20 +msgid "license" +msgstr "Lizenz" + +#: links.py:21 msgid "admin site" msgstr "" #: literals.py:24 msgid "A5" -msgstr "" +msgstr "A5" #: literals.py:25 msgid "A4" -msgstr "" +msgstr "A4" #: literals.py:26 msgid "A3" -msgstr "" +msgstr "A3" #: literals.py:27 msgid "B5" -msgstr "" +msgstr "B5" #: literals.py:28 msgid "B4" -msgstr "" +msgstr "B4" #: literals.py:29 msgid "Letter" @@ -98,143 +97,137 @@ msgstr "" #: literals.py:38 msgid "Portrait" -msgstr "" +msgstr "Hochformat" #: literals.py:39 msgid "Landscape" -msgstr "" +msgstr "Querformat" #: models.py:17 msgid "lock field" msgstr "" -#: models.py:45 +#: models.py:49 msgid "Anonymous user" -msgstr "" +msgstr "Anonymer Nutzer" -#: models.py:48 models.py:49 +#: models.py:52 models.py:53 msgid "anonymous user" -msgstr "" +msgstr "anonymer Nutzer" -#: models.py:53 -msgid "account" -msgstr "" - -#: models.py:54 -msgid "password" -msgstr "" - -#: models.py:55 -msgid "password hash" -msgstr "" - -#: models.py:58 -msgid "auto admin properties" -msgstr "" - -#: utils.py:299 -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:10 +#: registry.py:12 msgid "Common" msgstr "" -#: conf/settings.py:17 +#: registry.py:13 +msgid "Contains many commonly used models, views and utilities." +msgstr "" + +#: registry.py:21 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:61 -msgid "" -"Controls the mechanism used to authenticated user. Options are: username, " -"email" +#: registry.py:33 +msgid "Password of the superuser admin that will be created." msgstr "" -#: conf/settings.py:69 -msgid "Allow non authenticated users, access to all views" +#: registry.py:39 +msgid "" +"Controls the mechanism used to authenticated user. Options are: username, " +"email." +msgstr "" + +#: registry.py:45 +#, fuzzy +msgid "Allow non authenticated users, access to all views." +msgstr "Gestatte nicht authentifizierten Nutzern Zugriff auf alle Ansichten" + +#: utils.py:299 +msgid "function found" +msgstr "" + +#: views.py:37 +msgid "No action selected." +msgstr "Keine Aktion ausgewählt." + +#: views.py:41 +msgid "Must select at least one item." +msgstr "Mindestens ein Item auswählen." + +#: views.py:89 +#, python-format +msgid "%(selection)s added successfully added to %(right_list_title)s." +msgstr "%(selection)s erfolgreich zu %(right_list_title)s hinzugefügt." + +#: views.py:95 views.py:122 +#, python-format +msgid "Unable to add %(selection)s to %(right_list_title)s." +msgstr "" + +#: views.py:116 +#, python-format +msgid "%(selection)s added successfully removed from %(right_list_title)s." +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "Hinzufügen" + +#: views.py:148 +msgid "Remove" +msgstr "Entfernen" + +#: views.py:171 +msgid "current user details" +msgstr "Details des aktuellen Nutzers" + +#: views.py:188 +msgid "E-mail conflict, another user has that same email." +msgstr "E-Mail-Konflikt! Ein anderer Nutzer hat die selbe E-Mailadresse." + +#: views.py:191 +msgid "Current user's details updated." +msgstr "Details des aktuellen Nutzers aktualisiert." + +#: views.py:200 +msgid "edit current user details" +msgstr "BEarbeite Details des aktuellen Nutzers" + +#: views.py:231 +msgid "License" +msgstr "Lizenz" + +#: views.py:240 +msgid "Current user password change" +msgstr "" + +#: views.py:255 templates/password_change_done.html:5 +msgid "Your password has been successfully changed." +msgstr "Das Passwort wurde erfolgreich geändert." + +#: widgets.py:62 +msgid "None" msgstr "" #: templates/403.html:3 templates/403.html.py:7 msgid "Insufficient permissions" -msgstr "" +msgstr "Berechtigung reicht nicht aus." #: templates/403.html:9 msgid "You don't have enough permissions for this operation." -msgstr "" +msgstr "Sie haben keine Berechtigung für diesen Vorgang." #: templates/404.html:3 templates/404.html.py:7 msgid "Page not found" -msgstr "" +msgstr "Seite nicht gefunden" #: templates/404.html:9 msgid "Sorry, but the requested page could not be found." msgstr "" +"Tut mir Leid, aber die angeforderte Seite konnte nicht gefunden werden." #: templates/calculate_form_title.html:11 #, python-format @@ -253,16 +246,16 @@ msgstr "" #: templates/calculate_form_title.html:20 msgid "Edit" -msgstr "" +msgstr "Bearbeiten" #: templates/calculate_form_title.html:24 #, python-format msgid "Create new %(object_name)s" -msgstr "" +msgstr "Erstelle neu %(object_name)s" #: templates/calculate_form_title.html:26 msgid "Create" -msgstr "" +msgstr "Erstelle" #: templates/generic_assign_remove.html:3 #, python-format @@ -271,67 +264,61 @@ msgstr "" #: templates/generic_confirm.html:3 templates/generic_confirm.html.py:18 msgid "Confirm" -msgstr "" +msgstr "Bestätige" #: templates/generic_confirm.html:16 msgid "Confirm delete" -msgstr "" +msgstr "Bestätige Löschen" -#: templates/generic_confirm.html:32 -msgid "form icon" -msgstr "" - -#: templates/generic_confirm.html:40 +#: templates/generic_confirm.html:41 #, python-format msgid "Are you sure you wish to delete %(object_name)s: %(object)s?" msgstr "" -#: templates/generic_confirm.html:42 +#: templates/generic_confirm.html:43 #, python-format msgid "Are you sure you wish to delete: %(object)s?" msgstr "" -#: templates/generic_confirm.html:50 +#: templates/generic_confirm.html:51 msgid "Yes" -msgstr "" +msgstr "Ja" -#: templates/generic_confirm.html:54 +#: templates/generic_confirm.html:55 msgid "No" -msgstr "" +msgstr "Nein" -#: templates/generic_form_instance.html:37 -#: templates/generic_form_subtemplate.html:56 +#: templates/generic_form_instance.html:38 +#: templates/generic_form_subtemplate.html:58 msgid "required" -msgstr "" +msgstr "erforderlich" -#: 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:94 +#: templates/generic_form_subtemplate.html:85 +#: templates/generic_list_horizontal_subtemplate.html:48 +#: templates/generic_list_horizontal_subtemplate.html:91 #: templates/generic_list_subtemplate.html:55 #: templates/generic_list_subtemplate.html:189 msgid "Save" -msgstr "" +msgstr "Speichern" -#: 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:94 +#: templates/generic_form_subtemplate.html:85 +#: templates/generic_list_horizontal_subtemplate.html:48 +#: templates/generic_list_horizontal_subtemplate.html:91 #: templates/generic_list_subtemplate.html:55 #: templates/generic_list_subtemplate.html:189 msgid "Submit" -msgstr "" +msgstr "Übertragen" -#: templates/generic_form_subtemplate.html:87 +#: templates/generic_form_subtemplate.html:96 msgid "Cancel" -msgstr "" +msgstr "Abbrechen" #: 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_horizontal_subtemplate.html:20 #: templates/generic_list_subtemplate.html:25 #, python-format msgid "" @@ -339,13 +326,13 @@ msgid "" "%(page_number)s of %(total_pages)s)" msgstr "" -#: templates/generic_list_horizontal_subtemplate.html:25 +#: templates/generic_list_horizontal_subtemplate.html:22 #: templates/generic_list_subtemplate.html:27 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "" -#: templates/generic_list_horizontal_subtemplate.html:69 +#: templates/generic_list_horizontal_subtemplate.html:66 #: templates/generic_list_subtemplate.html:161 #, python-format msgid "There are no %(stripped_title)s" @@ -357,9 +344,18 @@ msgstr "" #: templates/login.html:5 msgid "Login" -msgstr "" +msgstr "Login" #: templates/password_change_done.html:3 templates/password_change_form.html:3 #: templates/password_change_form.html:5 msgid "Password change" -msgstr "" +msgstr "Passwort ändern" + +#~ msgid "account" +#~ msgstr "Account" + +#~ msgid "password" +#~ msgstr "Passwort" + +#~ msgid "password hash" +#~ msgstr "Passworthash" diff --git a/apps/common/locale/en/LC_MESSAGES/django.po b/apps/common/locale/en/LC_MESSAGES/django.po index 5d2616b2be..575f24552c 100644 --- a/apps/common/locale/en/LC_MESSAGES/django.po +++ b/apps/common/locale/en/LC_MESSAGES/django.po @@ -17,25 +17,41 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: __init__.py:29 links.py:17 +#: __init__.py:27 +msgid "change password" +msgstr "" + +#: __init__.py:28 +msgid "user details" +msgstr "" + +#: __init__.py:29 +msgid "edit details" +msgstr "" + +#: __init__.py:33 __init__.py:38 msgid "about" msgstr "" -#: forms.py:101 +#: __init__.py:34 +msgid "license" +msgstr "" + +#: forms.py:97 msgid "Selection" msgstr "" -#: forms.py:133 +#: forms.py:129 msgid "Email" msgstr "" -#: forms.py:144 +#: forms.py:140 msgid "" "Please enter a correct email and password. Note that the password fields is " "case-sensitive." msgstr "" -#: forms.py:146 +#: forms.py:142 msgid "This account is inactive." msgstr "" @@ -131,7 +147,7 @@ msgstr "" msgid "auto admin properties" msgstr "" -#: utils.py:299 +#: utils.py:295 msgid "function found" msgstr "" @@ -198,24 +214,20 @@ msgstr "" msgid "None" msgstr "" -#: conf/settings.py:10 -msgid "Common" -msgstr "" - -#: conf/settings.py:17 +#: conf/settings.py:16 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:61 +#: conf/settings.py:66 msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" msgstr "" -#: conf/settings.py:69 +#: conf/settings.py:75 msgid "Allow non authenticated users, access to all views" msgstr "" diff --git a/apps/common/locale/es/LC_MESSAGES/django.po b/apps/common/locale/es/LC_MESSAGES/django.po index 45f56a517a..874241eca6 100644 --- a/apps/common/locale/es/LC_MESSAGES/django.po +++ b/apps/common/locale/es/LC_MESSAGES/django.po @@ -1,72 +1,60 @@ # 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 , 2011, 2012. +# Roberto Rosario , 2011-2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:44-0400\n" -"PO-Revision-Date: 2012-07-27 04:13+0000\n" +"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" +"POT-Creation-Date: 2012-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-12-12 06:12+0000\n" "Last-Translator: Roberto Rosario \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/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" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:29 links.py:17 -msgid "about" -msgstr "sobre" - -#: forms.py:101 -msgid "Selection" -msgstr "Selección" - -#: forms.py:133 -msgid "Email" -msgstr "E-mail" - -#: forms.py:144 -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." - -#: forms.py:146 -msgid "This account is inactive." -msgstr "Esta cuenta está inactiva." - -#: links.py:14 +#: __init__.py:27 msgid "change password" msgstr "cambiar contraseña" -#: links.py:15 +#: __init__.py:28 msgid "user details" msgstr "detalles de usuario" -#: links.py:16 +#: __init__.py:29 msgid "edit details" msgstr "editar detalles" -#: links.py:18 +#: __init__.py:33 __init__.py:38 +msgid "about" +msgstr "sobre" + +#: __init__.py:34 msgid "license" msgstr "licencia" -#: links.py:19 -msgid "sentry" -msgstr "sentry" +#: forms.py:97 +msgid "Selection" +msgstr "Selección" -#: links.py:20 -msgid "admin site" -msgstr "sitio administrativo" +#: forms.py:129 +msgid "Email" +msgstr "E-mail" + +#: forms.py:140 +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." + +#: forms.py:142 +msgid "This account is inactive." +msgstr "Esta cuenta está inactiva." #: literals.py:24 msgid "A5" @@ -136,7 +124,7 @@ msgstr "huella de la contraseña" msgid "auto admin properties" msgstr "propiedades de administrador automático" -#: utils.py:299 +#: utils.py:295 msgid "function found" msgstr "función encontrada" @@ -177,9 +165,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." @@ -205,32 +191,22 @@ msgstr "Su contraseña se ha modificado correctamente." msgid "None" msgstr "Ninguno" -#: conf/settings.py:10 -msgid "Common" -msgstr "Común" - -#: conf/settings.py:17 +#: conf/settings.py:16 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 "" -"El directorio temporaro es el utilizado por todo el proyecto para almacenar " -"miniaturas, previsualizaciones 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 "El directorio temporero es usado para almacenar miniaturas, previsualizaciones y archivos temporales. Si no se especifica ninguno, se creará utilizando tempfile.mkdtemp()" -#: conf/settings.py:61 +#: conf/settings.py:66 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:69 +#: conf/settings.py:75 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" @@ -319,18 +295,18 @@ msgstr "requerido" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Save" msgstr "Guardar" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Submit" msgstr "Enviar" @@ -344,31 +320,28 @@ msgid "List of %(stripped_title)s" msgstr "Lista de %(stripped_title)s " #: templates/generic_list_horizontal_subtemplate.html:23 -#: templates/generic_list_subtemplate.html:25 +#: 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 "" -"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:27 +#: templates/generic_list_subtemplate.html:26 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "Lista de %(title)s (%(total)s)" -#: templates/generic_list_horizontal_subtemplate.html:69 -#: templates/generic_list_subtemplate.html:161 +#: templates/generic_list_subtemplate.html:72 +msgid "Identifier" +msgstr "Identificador" + +#: templates/generic_list_subtemplate.html:152 #, python-format msgid "There are no %(stripped_title)s" msgstr "No hay %(stripped_title)s " -#: templates/generic_list_subtemplate.html:75 -msgid "Identifier" -msgstr "Identificador" - #: templates/login.html:5 msgid "Login" msgstr "Iniciar sesión" diff --git a/apps/common/locale/fr/LC_MESSAGES/django.po b/apps/common/locale/fr/LC_MESSAGES/django.po index ad41b90a0e..b05bbcc433 100644 --- a/apps/common/locale/fr/LC_MESSAGES/django.po +++ b/apps/common/locale/fr/LC_MESSAGES/django.po @@ -9,62 +9,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" -"POT-Creation-Date: 2012-07-26 23:53-0400\n" -"PO-Revision-Date: 2012-07-28 13:49+0000\n" -"Last-Translator: Pierre Lhoste \n" +"POT-Creation-Date: 2012-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" +"Last-Translator: Roberto Rosario \n" "Language-Team: French (http://www.transifex.com/projects/p/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: __init__.py:29 links.py:17 +#: __init__.py:27 +msgid "change password" +msgstr "modifier le mot de passe" + +#: __init__.py:28 +msgid "user details" +msgstr "détails de l'utilisateur" + +#: __init__.py:29 +msgid "edit details" +msgstr "modifier les détails" + +#: __init__.py:33 __init__.py:38 msgid "about" msgstr "à propos" -#: forms.py:101 +#: __init__.py:34 +msgid "license" +msgstr "licence" + +#: forms.py:97 msgid "Selection" msgstr "Sélection" -#: forms.py:133 +#: forms.py:129 msgid "Email" msgstr "adresse électronique" -#: forms.py:144 +#: forms.py:140 msgid "" "Please enter a correct email and password. Note that the password fields is " "case-sensitive." msgstr "S'il vous plaît veuillez entrer une adresse électronique et un mot de passe. Notez que les champs de mot de passe sont sensibles à la casse." -#: forms.py:146 +#: forms.py:142 msgid "This account is inactive." msgstr "Ce compte est inactif." -#: links.py:14 -msgid "change password" -msgstr "modifier le mot de passe" - -#: links.py:15 -msgid "user details" -msgstr "détails de l'utilisateur" - -#: links.py:16 -msgid "edit details" -msgstr "modifier les détails" - -#: links.py:18 -msgid "license" -msgstr "licence" - -#: links.py:19 -msgid "sentry" -msgstr "sentinelle" - -#: links.py:20 -msgid "admin site" -msgstr "site d'admin" - #: literals.py:24 msgid "A5" msgstr "A5" @@ -133,7 +125,7 @@ msgstr "hachage de mot de passe" msgid "auto admin properties" msgstr "propriétés de l'administration automatique" -#: utils.py:299 +#: utils.py:295 msgid "function found" msgstr "fonction trouvée" @@ -200,24 +192,20 @@ msgstr "Votre mot de passe a été modifié avec succès." msgid "None" msgstr "Aucun" -#: conf/settings.py:10 -msgid "Common" -msgstr "Commun" - -#: conf/settings.py:17 +#: conf/settings.py:16 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 "Le répertoire temporaire utilisé pour stocker les miniatures, des prévisualisation ainsi que les fichiers temporaires. Si aucun n'est spécifié, celui-ci sera créé à l'aide de la fonction tempfile.mkdtemp()." +"tempfile.mkdtemp()" +msgstr "" -#: conf/settings.py:61 +#: conf/settings.py:66 msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" msgstr "Mécanisme utilisé pour l'authentification. Les options sont: username, email" -#: conf/settings.py:69 +#: conf/settings.py:75 msgid "Allow non authenticated users, access to all views" msgstr "Autoriser les utilisateurs non-authentifiés, à accéder à tous les vues" @@ -308,18 +296,18 @@ msgstr "requis" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Save" msgstr "Sauvegarder" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Submit" msgstr "Envoyer" @@ -333,7 +321,7 @@ msgid "List of %(stripped_title)s" msgstr "Liste des %(stripped_title)s " #: templates/generic_list_horizontal_subtemplate.html:23 -#: templates/generic_list_subtemplate.html:25 +#: templates/generic_list_subtemplate.html:24 #, python-format msgid "" "List of %(title)s (%(start)s - %(end)s out of %(total)s) (Page " @@ -341,21 +329,20 @@ msgid "" msgstr "Liste des %(title)s (%(start)s - %(end)s sur %(total)s) (Page %(page_number)s de %(total_pages)s)" #: templates/generic_list_horizontal_subtemplate.html:25 -#: templates/generic_list_subtemplate.html:27 +#: templates/generic_list_subtemplate.html:26 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "Liste des %(title)s (%(total)s )" -#: templates/generic_list_horizontal_subtemplate.html:69 -#: templates/generic_list_subtemplate.html:161 +#: templates/generic_list_subtemplate.html:72 +msgid "Identifier" +msgstr "Identifiant" + +#: templates/generic_list_subtemplate.html:152 #, python-format msgid "There are no %(stripped_title)s" msgstr "Aucun %(stripped_title)s trouvé" -#: templates/generic_list_subtemplate.html:75 -msgid "Identifier" -msgstr "Identifiant" - #: templates/login.html:5 msgid "Login" msgstr "Connexion" diff --git a/apps/common/locale/it/LC_MESSAGES/django.po b/apps/common/locale/it/LC_MESSAGES/django.po index c5c34ab3c3..a9b414206c 100644 --- a/apps/common/locale/it/LC_MESSAGES/django.po +++ b/apps/common/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Carlo Zanatto <>, 2012. # , 2011. @@ -10,65 +10,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:44-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" +"POT-Creation-Date: 2012-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:29 links.py:17 -msgid "about" -msgstr "informazioni" - -#: forms.py:101 -msgid "Selection" -msgstr "Selezione" - -#: forms.py:133 -msgid "Email" -msgstr "Email" - -#: forms.py:144 -msgid "" -"Please enter a correct email and password. Note that the password fields is " -"case-sensitive." -msgstr "" -"Inserisci un'indirizzo mail valido e una password. Ricorda che il campo " -"password è case-sensitive" - -#: forms.py:146 -msgid "This account is inactive." -msgstr "Questo account è inattivo" - -#: links.py:14 +#: __init__.py:27 msgid "change password" msgstr "cambia password" -#: links.py:15 +#: __init__.py:28 msgid "user details" msgstr "dettaglio utente" -#: links.py:16 +#: __init__.py:29 msgid "edit details" msgstr "modifica dettagli" -#: links.py:18 +#: __init__.py:33 __init__.py:38 +msgid "about" +msgstr "informazioni" + +#: __init__.py:34 msgid "license" msgstr "licenza" -#: links.py:19 -msgid "sentry" -msgstr "" +#: forms.py:97 +msgid "Selection" +msgstr "Selezione" -#: links.py:20 -msgid "admin site" -msgstr "" +#: forms.py:129 +msgid "Email" +msgstr "Email" + +#: forms.py:140 +msgid "" +"Please enter a correct email and password. Note that the password fields is " +"case-sensitive." +msgstr "Inserisci un'indirizzo mail valido e una password. Ricorda che il campo password è case-sensitive" + +#: forms.py:142 +msgid "This account is inactive." +msgstr "Questo account è inattivo" #: literals.py:24 msgid "A5" @@ -138,7 +127,7 @@ msgstr "" msgid "auto admin properties" msgstr "" -#: utils.py:299 +#: utils.py:295 msgid "function found" msgstr "trovata funzione" @@ -205,26 +194,20 @@ msgstr "La tua password è stata cambiata con successo" msgid "None" msgstr "Nessuno" -#: conf/settings.py:10 -msgid "Common" -msgstr "" - -#: conf/settings.py:17 +#: conf/settings.py:16 msgid "" "Temporary directory used site wide to store thumbnails, previews and " -"temporary files. If none is specified, one will be created using tempfile." -"mkdtemp()." +"temporary files. If none is specified, one will be created using " +"tempfile.mkdtemp()" msgstr "" -#: conf/settings.py:61 +#: conf/settings.py:66 msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "" -"Controllo del meccanismo di autenticazione. Le opzioni possibili sono:" -"username,email" +msgstr "Controllo del meccanismo di autenticazione. Le opzioni possibili sono:username,email" -#: conf/settings.py:69 +#: conf/settings.py:75 msgid "Allow non authenticated users, access to all views" msgstr "Consentire agli utenti non autenticati, l'accesso a tutte le viste" @@ -315,18 +298,18 @@ msgstr "richiesto" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Save" msgstr "Salva" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Submit" msgstr "Conferma" @@ -340,31 +323,28 @@ msgid "List of %(stripped_title)s" msgstr "Lista di %(stripped_title)s" #: templates/generic_list_horizontal_subtemplate.html:23 -#: templates/generic_list_subtemplate.html:25 +#: 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 "" -"Lista di %(title)s (%(start)s - %(end)s fuori %(total)s) (Page " -"%(page_number)s of %(total_pages)s)" +msgstr "Lista di %(title)s (%(start)s - %(end)s fuori %(total)s) (Page %(page_number)s of %(total_pages)s)" #: templates/generic_list_horizontal_subtemplate.html:25 -#: templates/generic_list_subtemplate.html:27 +#: templates/generic_list_subtemplate.html:26 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "Lista di %(title)s (%(total)s)" -#: templates/generic_list_horizontal_subtemplate.html:69 -#: templates/generic_list_subtemplate.html:161 +#: templates/generic_list_subtemplate.html:72 +msgid "Identifier" +msgstr "Identificatore" + +#: templates/generic_list_subtemplate.html:152 #, python-format msgid "There are no %(stripped_title)s" msgstr "Non ci sono %(stripped_title)s" -#: templates/generic_list_subtemplate.html:75 -msgid "Identifier" -msgstr "Identificatore" - #: templates/login.html:5 msgid "Login" msgstr "Login" diff --git a/apps/common/locale/nl_NL/LC_MESSAGES/django.po b/apps/common/locale/nl_NL/LC_MESSAGES/django.po index 991aff1e25..701db90e4f 100644 --- a/apps/common/locale/nl_NL/LC_MESSAGES/django.po +++ b/apps/common/locale/nl_NL/LC_MESSAGES/django.po @@ -1,69 +1,60 @@ # 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-07-27 00:44-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" +"POT-Creation-Date: 2012-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" -"mayan-edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:29 links.py:17 +#: __init__.py:27 +msgid "change password" +msgstr "" + +#: __init__.py:28 +msgid "user details" +msgstr "" + +#: __init__.py:29 +msgid "edit details" +msgstr "" + +#: __init__.py:33 __init__.py:38 msgid "about" msgstr "" -#: forms.py:101 +#: __init__.py:34 +msgid "license" +msgstr "" + +#: forms.py:97 msgid "Selection" msgstr "" -#: forms.py:133 +#: forms.py:129 msgid "Email" msgstr "" -#: forms.py:144 +#: forms.py:140 msgid "" "Please enter a correct email and password. Note that the password fields is " "case-sensitive." msgstr "" -#: forms.py:146 +#: forms.py:142 msgid "This account is inactive." msgstr "" -#: links.py:14 -msgid "change password" -msgstr "" - -#: links.py:15 -msgid "user details" -msgstr "" - -#: links.py:16 -msgid "edit details" -msgstr "" - -#: links.py:18 -msgid "license" -msgstr "" - -#: links.py:19 -msgid "sentry" -msgstr "" - -#: links.py:20 -msgid "admin site" -msgstr "" - #: literals.py:24 msgid "A5" msgstr "" @@ -132,7 +123,7 @@ msgstr "" msgid "auto admin properties" msgstr "" -#: utils.py:299 +#: utils.py:295 msgid "function found" msgstr "" @@ -199,24 +190,20 @@ msgstr "" msgid "None" msgstr "" -#: conf/settings.py:10 -msgid "Common" -msgstr "" - -#: conf/settings.py:17 +#: conf/settings.py:16 msgid "" "Temporary directory used site wide to store thumbnails, previews and " -"temporary files. If none is specified, one will be created using tempfile." -"mkdtemp()." +"temporary files. If none is specified, one will be created using " +"tempfile.mkdtemp()" msgstr "" -#: conf/settings.py:61 +#: conf/settings.py:66 msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" msgstr "" -#: conf/settings.py:69 +#: conf/settings.py:75 msgid "Allow non authenticated users, access to all views" msgstr "" @@ -307,18 +294,18 @@ 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Submit" msgstr "" @@ -332,7 +319,7 @@ msgid "List of %(stripped_title)s" msgstr "" #: templates/generic_list_horizontal_subtemplate.html:23 -#: templates/generic_list_subtemplate.html:25 +#: templates/generic_list_subtemplate.html:24 #, python-format msgid "" "List of %(title)s (%(start)s - %(end)s out of %(total)s) (Page " @@ -340,19 +327,18 @@ msgid "" msgstr "" #: templates/generic_list_horizontal_subtemplate.html:25 -#: templates/generic_list_subtemplate.html:27 +#: templates/generic_list_subtemplate.html:26 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "" -#: templates/generic_list_horizontal_subtemplate.html:69 -#: templates/generic_list_subtemplate.html:161 -#, python-format -msgid "There are no %(stripped_title)s" +#: templates/generic_list_subtemplate.html:72 +msgid "Identifier" msgstr "" -#: templates/generic_list_subtemplate.html:75 -msgid "Identifier" +#: templates/generic_list_subtemplate.html:152 +#, python-format +msgid "There are no %(stripped_title)s" msgstr "" #: templates/login.html:5 diff --git a/apps/common/locale/pl/LC_MESSAGES/django.po b/apps/common/locale/pl/LC_MESSAGES/django.po index 5f22677447..029a1726b8 100644 --- a/apps/common/locale/pl/LC_MESSAGES/django.po +++ b/apps/common/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # mic, 2012. # mic , 2012. @@ -10,66 +10,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:44-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" +"POT-Creation-Date: 2012-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/mayan-edms/" -"language/pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2)\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: __init__.py:29 links.py:17 -msgid "about" -msgstr "informacje o" - -#: forms.py:101 -msgid "Selection" -msgstr "Zaznaczenie" - -#: forms.py:133 -msgid "Email" -msgstr "E-mail" - -#: forms.py:144 -msgid "" -"Please enter a correct email and password. Note that the password fields is " -"case-sensitive." -msgstr "" -"Proszę wpisać poprawną nazwę użytkownika i hasło. Uwaga: wielkość liter ma " -"znaczenie." - -#: forms.py:146 -msgid "This account is inactive." -msgstr "To konto jest nieaktywne." - -#: links.py:14 +#: __init__.py:27 msgid "change password" msgstr "zmień hasło" -#: links.py:15 +#: __init__.py:28 msgid "user details" msgstr "szczegóły konta użytkownika" -#: links.py:16 +#: __init__.py:29 msgid "edit details" msgstr "edytuj szczegóły" -#: links.py:18 +#: __init__.py:33 __init__.py:38 +msgid "about" +msgstr "informacje o" + +#: __init__.py:34 msgid "license" msgstr "licencja" -#: links.py:19 -msgid "sentry" -msgstr "" +#: forms.py:97 +msgid "Selection" +msgstr "Zaznaczenie" -#: links.py:20 -msgid "admin site" -msgstr "" +#: forms.py:129 +msgid "Email" +msgstr "E-mail" + +#: forms.py:140 +msgid "" +"Please enter a correct email and password. Note that the password fields is " +"case-sensitive." +msgstr "Proszę wpisać poprawną nazwę użytkownika i hasło. Uwaga: wielkość liter ma znaczenie." + +#: forms.py:142 +msgid "This account is inactive." +msgstr "To konto jest nieaktywne." #: literals.py:24 msgid "A5" @@ -139,7 +127,7 @@ msgstr "" msgid "auto admin properties" msgstr "" -#: utils.py:299 +#: utils.py:295 msgid "function found" msgstr "znaleźć funkcję" @@ -206,24 +194,20 @@ msgstr "Twoje hasło zostało pomyślnie zmienione." msgid "None" msgstr "Brak" -#: conf/settings.py:10 -msgid "Common" -msgstr "" - -#: conf/settings.py:17 +#: conf/settings.py:16 msgid "" "Temporary directory used site wide to store thumbnails, previews and " -"temporary files. If none is specified, one will be created using tempfile." -"mkdtemp()." +"temporary files. If none is specified, one will be created using " +"tempfile.mkdtemp()" msgstr "" -#: conf/settings.py:61 +#: conf/settings.py:66 msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" msgstr "" -#: conf/settings.py:69 +#: conf/settings.py:75 msgid "Allow non authenticated users, access to all views" msgstr "" @@ -314,18 +298,18 @@ msgstr "wymagane" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Save" msgstr "Zapisz" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Submit" msgstr "Wyślij" @@ -339,31 +323,28 @@ msgid "List of %(stripped_title)s" msgstr "Wykaz %(stripped_title)s" #: templates/generic_list_horizontal_subtemplate.html:23 -#: templates/generic_list_subtemplate.html:25 +#: 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 "" -"Wykaz %(title)s (%(start)s - %(end)s z %(total)s) (Page %(page_number)s z " -"%(total_pages)s)" +msgstr "Wykaz %(title)s (%(start)s - %(end)s z %(total)s) (Page %(page_number)s z %(total_pages)s)" #: templates/generic_list_horizontal_subtemplate.html:25 -#: templates/generic_list_subtemplate.html:27 +#: templates/generic_list_subtemplate.html:26 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "Wykaz %(title)s (%(total)s)" -#: templates/generic_list_horizontal_subtemplate.html:69 -#: templates/generic_list_subtemplate.html:161 +#: templates/generic_list_subtemplate.html:72 +msgid "Identifier" +msgstr "Identyfikator" + +#: templates/generic_list_subtemplate.html:152 #, python-format msgid "There are no %(stripped_title)s" msgstr "Brak %(stripped_title)s" -#: templates/generic_list_subtemplate.html:75 -msgid "Identifier" -msgstr "Identyfikator" - #: templates/login.html:5 msgid "Login" msgstr "Zaloguj" diff --git a/apps/common/locale/pt/LC_MESSAGES/django.po b/apps/common/locale/pt/LC_MESSAGES/django.po index e567aff599..f27171af67 100644 --- a/apps/common/locale/pt/LC_MESSAGES/django.po +++ b/apps/common/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # , 2011. # Roberto Rosario , 2012. @@ -9,65 +9,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:44-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" +"POT-Creation-Date: 2012-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario \n" -"Language-Team: Portuguese (http://www.transifex.com/projects/p/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/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" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: __init__.py:29 links.py:17 -msgid "about" -msgstr "sobre" - -#: forms.py:101 -msgid "Selection" -msgstr "Seleção" - -#: forms.py:133 -msgid "Email" -msgstr "E-mail" - -#: forms.py:144 -msgid "" -"Please enter a correct email and password. Note that the password fields is " -"case-sensitive." -msgstr "" -"Insira um e-mail e senha corretos, por favor. Note que o campo da senha é " -"sensível a minúsculas e maiúsculas." - -#: forms.py:146 -msgid "This account is inactive." -msgstr "Esta conta está inativa." - -#: links.py:14 +#: __init__.py:27 msgid "change password" msgstr "alterar a senha" -#: links.py:15 +#: __init__.py:28 msgid "user details" msgstr "detalhes do utilizador" -#: links.py:16 +#: __init__.py:29 msgid "edit details" msgstr "editar detalhes" -#: links.py:18 +#: __init__.py:33 __init__.py:38 +msgid "about" +msgstr "sobre" + +#: __init__.py:34 msgid "license" msgstr "licença" -#: links.py:19 -msgid "sentry" -msgstr "" +#: forms.py:97 +msgid "Selection" +msgstr "Seleção" -#: links.py:20 -msgid "admin site" -msgstr "" +#: forms.py:129 +msgid "Email" +msgstr "E-mail" + +#: forms.py:140 +msgid "" +"Please enter a correct email and password. Note that the password fields is " +"case-sensitive." +msgstr "Insira um e-mail e senha corretos, por favor. Note que o campo da senha é sensível a minúsculas e maiúsculas." + +#: forms.py:142 +msgid "This account is inactive." +msgstr "Esta conta está inativa." #: literals.py:24 msgid "A5" @@ -137,7 +126,7 @@ msgstr "" msgid "auto admin properties" msgstr "" -#: utils.py:299 +#: utils.py:295 msgid "function found" msgstr "função encontrada" @@ -204,26 +193,20 @@ msgstr "A sua senha foi alterada com êxito." msgid "None" msgstr "Nenhum" -#: conf/settings.py:10 -msgid "Common" -msgstr "" - -#: conf/settings.py:17 +#: conf/settings.py:16 msgid "" "Temporary directory used site wide to store thumbnails, previews and " -"temporary files. If none is specified, one will be created using tempfile." -"mkdtemp()." +"temporary files. If none is specified, one will be created using " +"tempfile.mkdtemp()" msgstr "" -#: conf/settings.py:61 +#: conf/settings.py:66 msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "" -"Controla o mecanismo usado para autenticar o utilizador. As opções são: " -"username, email" +msgstr "Controla o mecanismo usado para autenticar o utilizador. As opções são: username, email" -#: conf/settings.py:69 +#: conf/settings.py:75 msgid "Allow non authenticated users, access to all views" msgstr "Permitir acesso a todas as vistas aos utilizadores não autenticados" @@ -314,18 +297,18 @@ msgstr "exigido" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Save" msgstr "Salvar" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Submit" msgstr "Submeter" @@ -339,31 +322,28 @@ msgid "List of %(stripped_title)s" msgstr "Lista de %(stripped_title)s " #: templates/generic_list_horizontal_subtemplate.html:23 -#: templates/generic_list_subtemplate.html:25 +#: 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 "" -"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:27 +#: templates/generic_list_subtemplate.html:26 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "Lista de %(title)s (%(total)s)" -#: templates/generic_list_horizontal_subtemplate.html:69 -#: templates/generic_list_subtemplate.html:161 +#: templates/generic_list_subtemplate.html:72 +msgid "Identifier" +msgstr "Identificador" + +#: templates/generic_list_subtemplate.html:152 #, python-format msgid "There are no %(stripped_title)s" msgstr "Não há %(stripped_title)s " -#: templates/generic_list_subtemplate.html:75 -msgid "Identifier" -msgstr "Identificador" - #: templates/login.html:5 msgid "Login" msgstr "Login" diff --git a/apps/common/locale/pt_BR/LC_MESSAGES/django.po b/apps/common/locale/pt_BR/LC_MESSAGES/django.po index 5afe5b88ae..b5072842d4 100644 --- a/apps/common/locale/pt_BR/LC_MESSAGES/django.po +++ b/apps/common/locale/pt_BR/LC_MESSAGES/django.po @@ -1,72 +1,61 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # , 2011. # Roberto Rosario , 2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:44-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" +"POT-Creation-Date: 2012-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" -"mayan-edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: __init__.py:29 links.py:17 -msgid "about" -msgstr "sobre" - -#: forms.py:101 -msgid "Selection" -msgstr "Seleção" - -#: forms.py:133 -msgid "Email" -msgstr "E-mail" - -#: forms.py:144 -msgid "" -"Please enter a correct email and password. Note that the password fields is " -"case-sensitive." -msgstr "" -"Por favor insira o e-mail e senha corretos. Note que os campos de senha são " -"case-sensitive." - -#: forms.py:146 -msgid "This account is inactive." -msgstr "Esta conta está inativa." - -#: links.py:14 +#: __init__.py:27 msgid "change password" msgstr "alterar a senha" -#: links.py:15 +#: __init__.py:28 msgid "user details" msgstr "detalhes do usuário" -#: links.py:16 +#: __init__.py:29 msgid "edit details" msgstr "editar detalhes" -#: links.py:18 +#: __init__.py:33 __init__.py:38 +msgid "about" +msgstr "sobre" + +#: __init__.py:34 msgid "license" msgstr "licença" -#: links.py:19 -msgid "sentry" -msgstr "" +#: forms.py:97 +msgid "Selection" +msgstr "Seleção" -#: links.py:20 -msgid "admin site" -msgstr "" +#: forms.py:129 +msgid "Email" +msgstr "E-mail" + +#: forms.py:140 +msgid "" +"Please enter a correct email and password. Note that the password fields is " +"case-sensitive." +msgstr "Por favor insira o e-mail e senha corretos. Note que os campos de senha são case-sensitive." + +#: forms.py:142 +msgid "This account is inactive." +msgstr "Esta conta está inativa." #: literals.py:24 msgid "A5" @@ -136,7 +125,7 @@ msgstr "" msgid "auto admin properties" msgstr "" -#: utils.py:299 +#: utils.py:295 msgid "function found" msgstr "função encontrada" @@ -203,26 +192,20 @@ msgstr "Sua senha foi alterada com êxito." msgid "None" msgstr "Nenhum" -#: conf/settings.py:10 -msgid "Common" -msgstr "" - -#: conf/settings.py:17 +#: conf/settings.py:16 msgid "" "Temporary directory used site wide to store thumbnails, previews and " -"temporary files. If none is specified, one will be created using tempfile." -"mkdtemp()." +"temporary files. If none is specified, one will be created using " +"tempfile.mkdtemp()" msgstr "" -#: conf/settings.py:61 +#: conf/settings.py:66 msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "" -"Controla o mecanismo usado para usuário autenticado. As opções são: e-mail, " -"nome de usuário," +msgstr "Controla o mecanismo usado para usuário autenticado. As opções são: e-mail, nome de usuário," -#: conf/settings.py:69 +#: conf/settings.py:75 msgid "Allow non authenticated users, access to all views" msgstr "" @@ -313,18 +296,18 @@ msgstr "exigido" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Save" msgstr "Salvar" #: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Submit" msgstr "Submeter" @@ -338,31 +321,28 @@ msgid "List of %(stripped_title)s" msgstr "Lista de %(stripped_title)s " #: templates/generic_list_horizontal_subtemplate.html:23 -#: templates/generic_list_subtemplate.html:25 +#: 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 "" -"Lista de %(title)s (%(start)s - %(end)s de %(total)s) (Page %(page_number)s " -"of %(total_pages)s)" +msgstr "Lista de %(title)s (%(start)s - %(end)s de %(total)s) (Page %(page_number)s of %(total_pages)s)" #: templates/generic_list_horizontal_subtemplate.html:25 -#: templates/generic_list_subtemplate.html:27 +#: templates/generic_list_subtemplate.html:26 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "Lista de %(title)s (%(total)s)" -#: templates/generic_list_horizontal_subtemplate.html:69 -#: templates/generic_list_subtemplate.html:161 +#: templates/generic_list_subtemplate.html:72 +msgid "Identifier" +msgstr "Identificador" + +#: templates/generic_list_subtemplate.html:152 #, python-format msgid "There are no %(stripped_title)s" msgstr "Não há %(stripped_title)s " -#: templates/generic_list_subtemplate.html:75 -msgid "Identifier" -msgstr "Identificador" - #: templates/login.html:5 msgid "Login" msgstr "Login" diff --git a/apps/common/locale/ru/LC_MESSAGES/django.po b/apps/common/locale/ru/LC_MESSAGES/django.po index 97239dacc0..5a30e3e2bf 100644 --- a/apps/common/locale/ru/LC_MESSAGES/django.po +++ b/apps/common/locale/ru/LC_MESSAGES/django.po @@ -1,72 +1,60 @@ # 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 , 2011, 2012. +# Sergey Glita , 2011-2012. msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-27 00:44-0400\n" -"PO-Revision-Date: 2012-07-27 04:09+0000\n" +"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n" +"POT-Creation-Date: 2012-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"Language-Team: Russian (http://www.transifex.com/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:29 links.py:17 -msgid "about" -msgstr "инфо" - -#: forms.py:101 -msgid "Selection" -msgstr "Выбор" - -#: forms.py:133 -msgid "Email" -msgstr "Email" - -#: 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 "Эта учетная запись неактивна." - -#: links.py:14 +#: __init__.py:27 msgid "change password" msgstr "Изменение пароля" -#: links.py:15 +#: __init__.py:28 msgid "user details" msgstr "сведения о пользователе" -#: links.py:16 +#: __init__.py:29 msgid "edit details" msgstr "изменение сведений" -#: links.py:18 +#: __init__.py:33 __init__.py:38 +msgid "about" +msgstr "инфо" + +#: __init__.py:34 msgid "license" msgstr "лицензия" -#: links.py:19 -msgid "sentry" -msgstr "" +#: forms.py:97 +msgid "Selection" +msgstr "Выбор" -#: links.py:20 -msgid "admin site" -msgstr "" +#: forms.py:129 +msgid "Email" +msgstr "Email" + +#: forms.py:140 +msgid "" +"Please enter a correct email and password. Note that the password fields is " +"case-sensitive." +msgstr "Пожалуйста, введите правильный адрес электронной почты и пароль с учетом регистра." + +#: forms.py:142 +msgid "This account is inactive." +msgstr "Эта учетная запись неактивна." #: literals.py:24 msgid "A5" @@ -122,21 +110,21 @@ msgstr "анонимный пользователь" #: models.py:53 msgid "account" -msgstr "" +msgstr "учетная запись" #: models.py:54 msgid "password" -msgstr "" +msgstr "пароль" #: models.py:55 msgid "password hash" -msgstr "" +msgstr "хэш пароля" #: models.py:58 msgid "auto admin properties" -msgstr "" +msgstr "свойства авто администратора" -#: utils.py:299 +#: utils.py:295 msgid "function found" msgstr "функция найдена" @@ -203,29 +191,22 @@ msgstr "Ваш пароль был изменен." msgid "None" msgstr "Ни один" -#: conf/settings.py:10 -msgid "Common" -msgstr "" - -#: conf/settings.py:17 +#: conf/settings.py:16 msgid "" "Temporary directory used site wide to store thumbnails, previews and " -"temporary files. If none is specified, one will be created using tempfile." -"mkdtemp()." +"temporary files. If none is specified, one will be created using " +"tempfile.mkdtemp()" msgstr "" -#: conf/settings.py:61 +#: conf/settings.py:66 msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "" -"Управление механизмом, используемым для аутентификации пользователя. " -"Возможные варианты: имя пользователя, адрес электронной почты" +msgstr "Управление механизмом, используемым для аутентификации пользователя. Возможные варианты: имя пользователя, адрес электронной почты" -#: conf/settings.py:69 +#: conf/settings.py:75 msgid "Allow non authenticated users, access to all views" -msgstr "" -"Разрешить, не прошедшим проверку, пользователям доступ ко всем представлениям" +msgstr "Разрешить, не прошедшим проверку, пользователям доступ ко всем представлениям" #: templates/403.html:3 templates/403.html.py:7 msgid "Insufficient permissions" @@ -314,18 +295,18 @@ 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: 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:94 -#: templates/generic_list_subtemplate.html:55 -#: templates/generic_list_subtemplate.html:189 +#: templates/generic_list_horizontal_subtemplate.html:90 +#: templates/generic_list_subtemplate.html:52 +#: templates/generic_list_subtemplate.html:178 msgid "Submit" msgstr "Выполнить" @@ -339,31 +320,28 @@ msgid "List of %(stripped_title)s" msgstr "Список \"%(stripped_title)s\"" #: templates/generic_list_horizontal_subtemplate.html:23 -#: templates/generic_list_subtemplate.html:25 +#: 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 "" -"Список %(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:27 +#: templates/generic_list_subtemplate.html:26 #, python-format msgid "List of %(title)s (%(total)s)" msgstr "Список %(title)s (%(total)s)" -#: templates/generic_list_horizontal_subtemplate.html:69 -#: templates/generic_list_subtemplate.html:161 +#: 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 "Нет %(stripped_title)s" -#: templates/generic_list_subtemplate.html:75 -msgid "Identifier" -msgstr "Идентификатор" - #: templates/login.html:5 msgid "Login" msgstr "Войти" diff --git a/apps/common/locale/sl_SI/LC_MESSAGES/django.po b/apps/common/locale/sl_SI/LC_MESSAGES/django.po new file mode 100644 index 0000000000..3307b03496 --- /dev/null +++ b/apps/common/locale/sl_SI/LC_MESSAGES/django.po @@ -0,0 +1,351 @@ +# 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-12-12 01:48-0400\n" +"PO-Revision-Date: 2012-12-12 06:05+0000\n" +"Last-Translator: Roberto Rosario \n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/projects/p/mayan-edms/language/sl_SI/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#: __init__.py:27 +msgid "change password" +msgstr "" + +#: __init__.py:28 +msgid "user details" +msgstr "" + +#: __init__.py:29 +msgid "edit details" +msgstr "" + +#: __init__.py:33 __init__.py:38 +msgid "about" +msgstr "" + +#: __init__.py:34 +msgid "license" +msgstr "" + +#: forms.py:97 +msgid "Selection" +msgstr "" + +#: forms.py:129 +msgid "Email" +msgstr "" + +#: forms.py:140 +msgid "" +"Please enter a correct email and password. Note that the password fields is " +"case-sensitive." +msgstr "" + +#: forms.py:142 +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:17 +msgid "lock field" +msgstr "" + +#: models.py:45 +msgid "Anonymous user" +msgstr "" + +#: models.py:48 models.py:49 +msgid "anonymous user" +msgstr "" + +#: models.py:53 +msgid "account" +msgstr "" + +#: models.py:54 +msgid "password" +msgstr "" + +#: models.py:55 +msgid "password hash" +msgstr "" + +#: models.py:58 +msgid "auto admin properties" +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:16 +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:66 +msgid "" +"Controls the mechanism used to authenticated user. Options are: username, " +"email" +msgstr "" + +#: conf/settings.py:75 +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 "" diff --git a/apps/common/serializers/__init__.py b/apps/common/serializers/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/common/serializers/better_yaml.py b/apps/common/serializers/better_yaml.py new file mode 100644 index 0000000000..330053f270 --- /dev/null +++ b/apps/common/serializers/better_yaml.py @@ -0,0 +1,103 @@ +# better_yaml.py + +""" +Customized YAML serializer, with more condensed and readable output. +Rather than producing a flat list of objects with the same three attributes: + + - fields: {...} + model: modelname + pk: 123 + +This serializer nests the data, grouping by model name, then indexing by +primary key. For example, instead of this output, as produced by the default +YAML serializer: + + - fields: {name: blue} + model: app.firstmodel + pk: 3 + - fields: {name: red} + model: app.firstmodel + pk: 1 + - fields: {name: green} + model: app.firstmodel + pk: 2 + - fields: {name: crumbly} + model: app.secondmodel + pk: 2 + - fields: {name: squishy} + model: app.secondmodel + pk: 1 + +You'll get this output: + + app.firstmodel: + 1: {name: red} + 2: {name: green} + 3: {name: blue} + app.secondmodel: + 1: {name: squishy} + 2: {name: crumbly} + +To use this customized serializer and deserializer, save this file +somewhere in your Django project, then add this to your settings.py: + + SERIALIZATION_MODULES = { + 'yaml': 'path.to.better_yaml', + } + +Note that this serializer is NOT compatible with the default Django +YAML serializer; this one uses nested dictionaries, while the default +one uses a flat list of object dicts. + +Requires PyYaml (http://pyyaml.org/), of course. +""" + +from StringIO import StringIO +import yaml + +from django.core.serializers.pyyaml import Serializer as YamlSerializer +from django.core.serializers.python import Deserializer as PythonDeserializer +from django.utils.encoding import smart_unicode + +class Serializer (YamlSerializer): + """ + Serialize database objects as nested dicts, indexed first by + model name, then by primary key. + """ + def start_serialization(self): + self._current = None + self.objects = {} + + def end_object(self, obj): + model = smart_unicode(obj._meta) + pk = obj._get_pk_val() + + if model not in self.objects: + self.objects[model] = {} + + self.objects[model][pk] = self._current + self._current = None + + +def Deserializer(stream_or_string, **options): + """ + Deserialize a stream or string of YAML data, + as written by the Serializer above. + """ + if isinstance(stream_or_string, basestring): + stream = StringIO(stream_or_string) + else: + stream = stream_or_string + + # Reconstruct the flat object list as PythonDeserializer expects + # NOTE: This could choke on large data sets, since it + # constructs the flattened data list in memory + data = [] + for model, objects in yaml.load(stream).iteritems(): + # Add the model name back into each object dict + for pk, fields in objects.iteritems(): + data.append({'model': model, 'pk': pk, 'fields': fields}) + + # Deserialize the flattened data + for obj in PythonDeserializer(data, **options): + yield obj diff --git a/apps/common/templates/generic_list_subtemplate.html b/apps/common/templates/generic_list_subtemplate.html index e3636dfb4d..2e82daea05 100644 --- a/apps/common/templates/generic_list_subtemplate.html +++ b/apps/common/templates/generic_list_subtemplate.html @@ -31,16 +31,16 @@
{% endif %} -
+ {% if object_list %} {% if multi_select or multi_select_as_buttons %} {% if multi_select_as_buttons %} {% get_multi_item_links as multi_item_links %} -