Merge branch 'master' into feature/sane_source
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
41
.gitignore
vendored
41
.gitignore
vendored
@@ -3,26 +3,27 @@
|
||||
*.pyo
|
||||
*.sqlite
|
||||
*.sqlite3
|
||||
settings_local.py
|
||||
/celerybeat-schedule
|
||||
document_storage/
|
||||
/misc/mayan.geany
|
||||
mayan/media/document_cache/
|
||||
build/
|
||||
_build/
|
||||
gpg_home/
|
||||
/mayan/media/static/
|
||||
/whoosh_index/
|
||||
/fabfile_install
|
||||
/venv/
|
||||
.coverage
|
||||
/dist/
|
||||
.idea/
|
||||
static_collected/
|
||||
*egg-info*
|
||||
mayan/settings/local.py
|
||||
.vagrant
|
||||
.tox/
|
||||
coverage.xml
|
||||
.coverage
|
||||
.coverage.tox*
|
||||
.idea/
|
||||
.tox/
|
||||
.vagrant
|
||||
_build/
|
||||
build/
|
||||
coverage.xml
|
||||
document_storage/
|
||||
gpg_home/
|
||||
htmlcov/
|
||||
mayan/media/
|
||||
mayan/media/document_cache/
|
||||
mayan/settings/local.py
|
||||
settings_local.py
|
||||
static_collected/
|
||||
/celerybeat-schedule
|
||||
/fabfile_install
|
||||
/dist/
|
||||
/misc/mayan.geany
|
||||
/mayan/media/static/
|
||||
/venv/
|
||||
/whoosh_index/
|
||||
|
||||
@@ -21,7 +21,7 @@ test:mysql:
|
||||
- pip install mysql-python
|
||||
- apt-get install -qq mysql-client
|
||||
- mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD" -e "set global character_set_server=utf8mb4;"
|
||||
- coverage run manage.py runtests --settings=mayan.settings.testing.gitlab-ci.db_mysql --nomigrations
|
||||
- coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci.db_mysql --nomigrations
|
||||
- bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN
|
||||
tags:
|
||||
- mysql
|
||||
@@ -30,12 +30,12 @@ test:postgres:
|
||||
- apt-get install -qq libpq-dev
|
||||
- pip install -r requirements/testing.txt
|
||||
- pip install psycopg2
|
||||
- coverage run manage.py runtests --settings=mayan.settings.testing.gitlab-ci.db_postgres --nomigrations
|
||||
- coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci.db_postgres --nomigrations
|
||||
- bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN
|
||||
tags:
|
||||
- postgres
|
||||
test:sqlite:
|
||||
script:
|
||||
- pip install -r requirements/testing.txt
|
||||
- coverage run manage.py runtests --settings=mayan.settings.testing.gitlab-ci --nomigrations
|
||||
- coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci --nomigrations
|
||||
- bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN
|
||||
|
||||
10
.travis.yml
10
.travis.yml
@@ -1,3 +1,5 @@
|
||||
dist: trusty
|
||||
sudo: required
|
||||
language: python
|
||||
python:
|
||||
- 2.7
|
||||
@@ -8,7 +10,7 @@ env:
|
||||
- DB=sqlite
|
||||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install -qq python-dev gcc tesseract-ocr tesseract-ocr-deu unpaper ghostscript libjpeg-dev libpng-dev poppler-utils libreoffice
|
||||
- sudo apt-get install -qq python-dev python-pip gcc tesseract-ocr tesseract-ocr-deu ghostscript libjpeg-dev libpng-dev libtiff-dev poppler-utils libreoffice
|
||||
install:
|
||||
- "pip install -r requirements/testing.txt"
|
||||
- if [[ $DB == mysql ]]; then pip install -q mysql-python; fi
|
||||
@@ -17,9 +19,9 @@ before_script:
|
||||
- mysql -e 'create database mayan_edms;'
|
||||
- psql -c 'create database mayan_edms;' -U postgres
|
||||
script:
|
||||
- if [[ $DB == mysql ]]; then coverage run manage.py runtests --settings=mayan.settings.testing.travis.db_mysql --nomigrations; fi
|
||||
- if [[ $DB == postgres ]]; then coverage run manage.py runtests --settings=mayan.settings.testing.travis.db_postgres --nomigrations; fi
|
||||
- if [[ $DB == sqlite ]]; then coverage run manage.py runtests --settings=mayan.settings.testing.base --nomigrations; fi
|
||||
- if [[ $DB == mysql ]]; then coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.travis.db_mysql --nomigrations; fi
|
||||
- if [[ $DB == postgres ]]; then coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.travis.db_postgres --nomigrations; fi
|
||||
- if [[ $DB == sqlite ]]; then coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.base --nomigrations; fi
|
||||
after_success:
|
||||
- coveralls
|
||||
branches:
|
||||
|
||||
18
.tx/config
18
.tx/config
@@ -19,6 +19,12 @@ source_lang = en
|
||||
source_file = mayan/apps/authentication/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.cabinets-2-0]
|
||||
file_filter = mayan/apps/cabinets/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
source_file = mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.checkouts-2-0]
|
||||
file_filter = mayan/apps/checkouts/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
@@ -91,12 +97,6 @@ source_lang = en
|
||||
source_file = mayan/apps/folders/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.installation-2-0]
|
||||
file_filter = mayan/apps/installation/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
source_file = mayan/apps/installation/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.linking-2-0]
|
||||
file_filter = mayan/apps/linking/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
@@ -127,12 +127,6 @@ source_lang = en
|
||||
source_file = mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.mirroring-2-0]
|
||||
file_filter = mayan/apps/mirroring/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
source_file = mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.motd-2-0]
|
||||
file_filter = mayan/apps/motd/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
|
||||
@@ -17,7 +17,7 @@ same properties that can trigger the issue and upload that file instead.
|
||||
- Add steps that trigger the issue in a **repeatable manner**.
|
||||
- **Screenshots** go a long way in helping understand problems.
|
||||
- The issue must be related to the code only, do not open issues for problems
|
||||
with webservers, cloud providers, etc.
|
||||
with deployments, webservers, cloud providers, etc.
|
||||
- Do not open issues asking for **support or consulting**.
|
||||
|
||||
Code
|
||||
@@ -40,7 +40,19 @@ following branches:
|
||||
are unstable and should not be used in production.
|
||||
|
||||
1. Start making your changes in your own separate branch.
|
||||
1. Write a test which shows that the bug was fixed or that the feature works as expected.
|
||||
1. Write a test which shows that the bug was fixed or that the feature works as
|
||||
expected.
|
||||
1. Sign your work. Your signature certifies your submission according to the
|
||||
articles of the [Developer Certificate of Origin](https://gitlab.com/mayan-edms/mayan-edms/blob/master/DCO).
|
||||
The sign-off should be in the form:
|
||||
|
||||
````
|
||||
Signed-off-by: John Doe <john.doe@example.com>
|
||||
````
|
||||
|
||||
You must use your real name and email, pseudonyms or anonymous contributions
|
||||
are not allowed. If you set your user.name and user.email git configs, you can
|
||||
sign your commit automatically with git commit -s.
|
||||
1. Submit a merge request for your changes.
|
||||
|
||||
Feature requests
|
||||
@@ -64,8 +76,3 @@ Code style
|
||||
----------
|
||||
- Refer to the [Development](http://mayan.readthedocs.io/en/latest/topics/development.html)
|
||||
chapter for information and examples of the code style.
|
||||
|
||||
License
|
||||
-------
|
||||
By contributing your code, you agree to license your contribution under the
|
||||
terms of the project's license.
|
||||
|
||||
36
DCO
Normal file
36
DCO
Normal file
@@ -0,0 +1,36 @@
|
||||
Developer Certificate of Origin
|
||||
Version 1.1
|
||||
|
||||
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
||||
660 York Street, Suite 102,
|
||||
San Francisco, CA 94110 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
|
||||
|
||||
Developer's Certificate of Origin 1.1
|
||||
|
||||
By making a contribution to this project, I certify that:
|
||||
|
||||
(a) The contribution was created in whole or in part by me and I
|
||||
have the right to submit it under the open source license
|
||||
indicated in the file; or
|
||||
|
||||
(b) The contribution is based upon previous work that, to the best
|
||||
of my knowledge, is covered under an appropriate open source
|
||||
license and I have the right under that license to submit that
|
||||
work with modifications, whether created in whole or in part
|
||||
by me, under the same open source license (unless I am
|
||||
permitted to submit under a different license), as indicated
|
||||
in the file; or
|
||||
|
||||
(c) The contribution was provided directly to me by some other
|
||||
person who certified (a), (b) or (c) and I have not modified
|
||||
it.
|
||||
|
||||
(d) I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off) is
|
||||
maintained indefinitely and may be redistributed consistent with
|
||||
this project or the open source license(s) involved.
|
||||
68
HISTORY.rst
68
HISTORY.rst
@@ -1,4 +1,25 @@
|
||||
2.2 (2016-XX-XX)
|
||||
XX (2017-XX-XX)
|
||||
===============
|
||||
- Add Django-mathfilters.
|
||||
- Improve render of documents with no pages.
|
||||
|
||||
2.3 (2017-06-08)
|
||||
================
|
||||
- Allow for bigger indexing expression templates.
|
||||
- Auto select checkbox when updating metadata values. GitLab issue #371.
|
||||
- Added support for passing the options allow-other and allow-root to the
|
||||
FUSE index mirror. GitLab issue #385
|
||||
- Add support for check for the latest released version of Mayan from the
|
||||
About menu.
|
||||
- Support for rebuilding specific indexes. GitLab issue #372.
|
||||
- Rewrite document indexing code to be faster and use less locking.
|
||||
- Use a predefined file path for the file lock.
|
||||
- Catch documents with not document version when displaying their thumbnails.
|
||||
- Document page navigation fix when using Mayan as a sub URL app.
|
||||
- Add support for indexing on workflow state changes.
|
||||
- Add search model list API endpoint.
|
||||
|
||||
2.2 (2017-04-26)
|
||||
================
|
||||
- Remove the installation app (GitLab #301).
|
||||
- Add support for document page search
|
||||
@@ -8,13 +29,54 @@
|
||||
- Improve upgrade instructions
|
||||
- New image caching pipeline
|
||||
- New drop down menus for the documents, folders and tags app as well as for
|
||||
the user links
|
||||
the user links.
|
||||
- New Dashboard view
|
||||
- Moved licenses to their own module in every app
|
||||
- Update project to work with Django 1.10.4.
|
||||
- Tags are alphabetically ordered by label (GitLab #342).
|
||||
- Stop loading theme fonts from the web (GitLab #343).
|
||||
- Add support for attaching multiple tags (GitLab #307).
|
||||
- Integrate the Cabinets app.
|
||||
|
||||
2.1.11 (2017-03-14)
|
||||
===================
|
||||
- Added a quick rename serializer to the document type API serializer.
|
||||
- Added per document type, workflow list API view.
|
||||
- Mayan EDMS was adopted a version 1.1 of the Linux Foundation Developer Certificate of Origin.
|
||||
- Added the detail url of a permission in the permission serializer.
|
||||
- Added endpoints for the ACL app API.
|
||||
- Implemented document workflows transition ACLs. GitLab issue #321.
|
||||
- Add document comments API endpoints. GitHub issue #249.
|
||||
- Add support for overriding the Celery class.
|
||||
- Changed the document upload view in source app to not use the HTTP referer
|
||||
URL blindly, but instead recompose the URL using known view name. Needed
|
||||
when integrating Mayan EDMS into other app via using iframes.
|
||||
- Addes size field to the document version serializer.
|
||||
- Removed the serializer from the deleted document restore API endpoint.
|
||||
- Added support for adding or editing document types to smart links via the
|
||||
API.
|
||||
|
||||
2.1.10 (2017-02-13)
|
||||
===================
|
||||
- Update Makefile to use twine for releases.
|
||||
- Add Makefile target to make test releases.
|
||||
|
||||
2.1.9 (2017-02-13)
|
||||
==================
|
||||
- Update make file to Workaround long standing pypa wheel bug #99
|
||||
|
||||
2.1.8 (2017-02-12)
|
||||
==================
|
||||
- Fixes in the trashed document API endpoints.
|
||||
- Improved tags API PUT and PATCH endpoints.
|
||||
- Bulk document adding when creating and editing tags.
|
||||
- The version of django-mptt is preserved in case mayan-cabinets is installed.
|
||||
- Add Django GPG API endpoints for singing keys.
|
||||
- Add API endpoints for the document states (workflows) app.
|
||||
- Add API endpoints for the messsage of the day (MOTD) app.
|
||||
- Add Smart link API endpoints.
|
||||
- Add writable versions of the Document and Document Type serializers (GitLab issues #348 and #349).
|
||||
- Close GitLab issue #310 "Metadata's lookup with chinese messages when new document"
|
||||
|
||||
2.1.7 (2017-02-01)
|
||||
==================
|
||||
@@ -26,7 +88,7 @@ the user links
|
||||
- Enable the parser and validation fields of the metadata serializer.
|
||||
|
||||
2.1.6 (2016-11-23)
|
||||
=================
|
||||
==================
|
||||
- Fix variable name typo in the rotation transformation class.
|
||||
- Update translations
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
include README.rst LICENSE HISTORY.rst
|
||||
recursive-include mayan *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 LICENSE
|
||||
include README.md LICENSE HISTORY.rst mayan/LICENSE
|
||||
recursive-include mayan/apps *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg *.doc *.pdf *.tiff *.sig *.asc *.gpg *.zip
|
||||
global-exclude mayan/settings/local.py mayan/settings/travis/* mayan/media/*
|
||||
|
||||
66
Makefile
66
Makefile
@@ -7,8 +7,8 @@ help:
|
||||
@echo "clean-pyc - Remove Python artifacts."
|
||||
@echo "clean - Remove Python and build artifacts."
|
||||
|
||||
@echo "test MODULE=<python module name> - Run tests for a single App, module or test class."
|
||||
@echo "test-all - Run all tests."
|
||||
@echo "test MODULE=<python module name> - Run tests for a single App, module or test class."
|
||||
@echo "docs_serve - Run the livehtml documentation generator."
|
||||
|
||||
@echo "translations_make - Refresh all translation files."
|
||||
@@ -23,11 +23,23 @@ help:
|
||||
@echo "sdist - Build the source distribution package."
|
||||
@echo "wheel - Build the wheel distribution package."
|
||||
@echo "release - Package (sdist and wheel) and upload a release."
|
||||
@echo "test_release - Package (sdist and wheel) and upload to the PyPI test server."
|
||||
@echo "release_test_via_docker_ubuntu - Package (sdist and wheel) and upload to the PyPI test server using an Ubuntu Docker builder."
|
||||
@echo "release_test_via_docker_alpine - Package (sdist and wheel) and upload to the PyPI test server using an Alpine Docker builder."
|
||||
@echo "release_via_docker_ubuntu - Package (sdist and wheel) and upload to PyPI using an Ubuntu Docker builder."
|
||||
@echo "release_via_docker_alpine - Package (sdist and wheel) and upload to PyPI using an Alpine Docker builder."
|
||||
|
||||
@echo "runserver - Run the development server."
|
||||
@echo "runserver_plus - Run the Django extension's development server."
|
||||
@echo "shell_plus - Run the shell_plus command."
|
||||
|
||||
@echo "docker_services_on - Launch and initialize production-like services using Docker (Postgres and Redis)."
|
||||
@echo "docker_services_off - Stop and delete the Docker production-like services."
|
||||
@echo "docker_services_frontend - Launch a front end instance that uses the production-like services."
|
||||
@echo "docker_services_worker - Launch a worker instance that uses the production-like services."
|
||||
@echo "docker_service_mysql_on - Launch and initialize a MySQL Docker container."
|
||||
@echo "docker_service_mysql_off - Stop and delete the MySQL Docker container."
|
||||
|
||||
@echo "safety_check - Run a package safety check."
|
||||
|
||||
|
||||
@@ -52,7 +64,7 @@ test:
|
||||
./manage.py test $(MODULE) --settings=mayan.settings.testing --nomigrations
|
||||
|
||||
test-all:
|
||||
./manage.py runtests --settings=mayan.settings.testing --nomigrations
|
||||
./manage.py test --mayan-apps --settings=mayan.settings.testing --nomigrations
|
||||
|
||||
|
||||
# Documentation
|
||||
@@ -90,17 +102,33 @@ requirements_testing:
|
||||
|
||||
# Releases
|
||||
|
||||
release: clean
|
||||
python setup.py sdist bdist_wheel upload
|
||||
|
||||
test_release: clean wheel
|
||||
twine upload dist/* -r testpypi
|
||||
@echo "Test with: pip install -i https://testpypi.python.org/pypi mayan-edms"
|
||||
|
||||
release: clean wheel
|
||||
twine upload dist/* -r pypi
|
||||
|
||||
sdist: clean
|
||||
python setup.py sdist
|
||||
ls -l dist
|
||||
|
||||
wheel: clean
|
||||
python setup.py bdist_wheel
|
||||
wheel: clean sdist
|
||||
pip wheel --no-index --no-deps --wheel-dir dist dist/*.tar.gz
|
||||
ls -l dist
|
||||
|
||||
release_test_via_docker_ubuntu:
|
||||
docker run --rm --name mayan_release -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source ubuntu:16.04 /bin/bash -c "cp -r /host_source/* . && apt-get update && apt-get install make python-pip -y && pip install -r requirements/build.txt && cp -r /host_home/.pypirc ~/.pypirc && make test_release"
|
||||
|
||||
release_via_docker_ubuntu:
|
||||
docker run --rm --name mayan_release -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source ubuntu:16.04 /bin/bash -c "cp -r /host_source/* . && apt-get update && apt-get install make python-pip -y && pip install -r requirements/build.txt && cp -r /host_home/.pypirc ~/.pypirc && make release"
|
||||
|
||||
release_test_via_docker_alpine:
|
||||
docker run --rm --name mayan_release -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source alpine /bin/busybox sh -c "cp -r /host_source/* . && apk update && apk add python2 py2-pip make && pip install -r requirements/build.txt && cp -r /host_home/.pypirc ~/.pypirc && make test_release"
|
||||
|
||||
release_via_docker_alpine:
|
||||
docker run --rm --name mayan_release -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source alpine /bin/busybox sh -c "cp -r /host_source/* . && apk update && apk add python2 py2-pip make && pip install -r requirements/build.txt && cp -r /host_home/.pypirc ~/.pypirc && make release"
|
||||
|
||||
# Dev server
|
||||
|
||||
@@ -113,9 +141,33 @@ runserver_plus:
|
||||
shell_plus:
|
||||
./manage.py shell_plus --settings=mayan.settings.development
|
||||
|
||||
docker_services_on:
|
||||
docker run -d --name redis -p 6379:6379 redis
|
||||
docker run -d --name postgres -p 5432:5432 postgres
|
||||
while ! nc -z 127.0.0.1 6379; do sleep 1; done
|
||||
while ! nc -z 127.0.0.1 5432; do sleep 1; done
|
||||
sleep 1
|
||||
./manage.py initialsetup --settings=mayan.settings.testing.docker
|
||||
|
||||
docker_services_off:
|
||||
docker stop postgres redis
|
||||
docker rm postgres redis
|
||||
|
||||
docker_services_frontend:
|
||||
./manage.py runserver --settings=mayan.settings.testing.docker
|
||||
|
||||
docker_services_worker:
|
||||
./manage.py celery worker --settings=mayan.settings.testing.docker -B -l INFO -O fair
|
||||
|
||||
docker_service_mysql_on:
|
||||
docker run -d --name mysql -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=True -e MYSQL_DATABASE=mayan_edms mysql
|
||||
while ! nc -z 127.0.0.1 3306; do sleep 1; done
|
||||
|
||||
docker_service_mysql_off:
|
||||
docker stop mysql
|
||||
docker rm mysql
|
||||
|
||||
# Security
|
||||
|
||||
safety_check:
|
||||
safety check
|
||||
|
||||
|
||||
89
README.md
Normal file
89
README.md
Normal file
@@ -0,0 +1,89 @@
|
||||
[![pypi][pypi]][pypi-url]
|
||||
[![builds][builds]][builds-url]
|
||||
[![coverage][cover]][cover-url]
|
||||
![python][python]
|
||||
![license][license]
|
||||
|
||||
[pypi]: http://img.shields.io/pypi/v/mayan-edms.svg
|
||||
[pypi-url]: http://badge.fury.io/py/mayan-edms
|
||||
|
||||
[builds]: https://gitlab.com/mayan-edms/mayan-edms/badges/master/build.svg
|
||||
[builds-url]: https://gitlab.com/mayan-edms/mayan-edms/pipelines
|
||||
|
||||
[cover]: https://codecov.io/gitlab/mayan-edms/mayan-edms/coverage.svg?branch=master
|
||||
[cover-url]: https://codecov.io/gitlab/mayan-edms/mayan-edms?branch=master
|
||||
|
||||
[python]: https://img.shields.io/pypi/pyversions/mayan-edms.svg
|
||||
[python-url]: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat
|
||||
|
||||
[license]: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat
|
||||
[license-url]: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat
|
||||
|
||||
|
||||
<div align="center">
|
||||
<a href="http://www.mayan-edms.com">
|
||||
<img width="200" heigth="200" src="https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/mayan_logo.png">
|
||||
</a>
|
||||
<br>
|
||||
<br>
|
||||
<p>
|
||||
Mayan EDMS is a document management system. Its main purpose is to store,
|
||||
introspect, and categorize files, with a strong emphasis on preserving the
|
||||
contextual and business information of documents. It can also OCR, preview,
|
||||
label, sign, send, and receive thoses files. Other features of interest
|
||||
are its workflow system, role based access control, and REST API.
|
||||
<p>
|
||||
|
||||
<p align="center">
|
||||
<img src="https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/overview.gif">
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<h2 align="center">Installation</h2>
|
||||
|
||||
The easiest way to use Mayan EDMS is by using the official
|
||||
[Docker](https://www.docker.com/) image. Make sure Docker is properly installed
|
||||
and working before attempting to install Mayan EDMS.
|
||||
|
||||
With Docker properly installed, proceed to download the Mayan EDMS image using
|
||||
the command:
|
||||
|
||||
```bash
|
||||
$ docker pull mayanedms/mayanedms:2.3
|
||||
```
|
||||
|
||||
After the image finishes downloading, initialize a Mayan EDMS container.
|
||||
|
||||
```bash
|
||||
$ docker run -d --name mayan-edms --restart=always -p 80:80 \
|
||||
-v mayan_data:/var/lib/mayan mayanedms/mayanedms:2.3
|
||||
```
|
||||
|
||||
Point your browser to the IP address 127.0.0.1 (or the alternate port chosen,
|
||||
ie: 127.0.0.1:81) and use the automatically created admin account.
|
||||
|
||||
All files will be stored in the Docker volume ``mayan_data``
|
||||
|
||||
If another web server is running on port 80 use a different port in the ``-p``
|
||||
option, ie: ``-p 81:80``.
|
||||
|
||||
For the complete set of installation, configuration, upgrade, and backup
|
||||
instructions visit the Mayan EDMS Docker Hub page at:
|
||||
https://hub.docker.com/r/mayanedms/mayanedms/
|
||||
|
||||
<h2 align="center">Important links</h2>
|
||||
|
||||
|
||||
- [Homepage](http://www.mayan-edms.com)
|
||||
- [Videos](https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw)
|
||||
- [Documentation](http://mayan.readthedocs.io/en/stable/)
|
||||
- [Paid support](http://www.mayan-edms.com/providers/)
|
||||
- [Roadmap](https://gitlab.com/mayan-edms/mayan-edms/wikis/roadmap)
|
||||
- [Contributing](https://gitlab.com/mayan-edms/mayan-edms/blob/master/CONTRIBUTING.md)
|
||||
- [Community forum](https://groups.google.com/forum/#!forum/mayan-edms)
|
||||
- [Community forum archive](http://mayan-edms.1003.x6.nabble.com/)
|
||||
- [Source code, issues, bugs](https://gitlab.com/mayan-edms/mayan-edms)
|
||||
- [Plug-ins, other related projects](https://gitlab.com/mayan-edms/)
|
||||
- [Translations](https://www.transifex.com/rosarior/mayan-edms/)
|
||||
|
||||
108
README.rst
108
README.rst
@@ -1,65 +1,75 @@
|
||||
|PyPI badge| |Build Status| |Coverage badge| |Documentation| |License badge| |Python version|
|
||||
|pypi| |builds| |coverage| |python| |license|
|
||||
|
||||
|Logo|
|
||||
|
||||
Description
|
||||
-----------
|
||||
.. image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/mayan_logo.png
|
||||
:align: center
|
||||
:width: 200
|
||||
:height: 200
|
||||
|
||||
Free Open Source Electronic Document Management System.
|
||||
Mayan EDMS is a document management system. Its main purpose is to store,
|
||||
introspect, and categorize files, with a strong emphasis on preserving the
|
||||
contextual and business information of documents. It can also OCR, preview,
|
||||
label, sign, send, and receive thoses files. Other features of interest
|
||||
are its workflow system, role based access control, and REST API.
|
||||
|
||||
`Website`_
|
||||
.. image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/overview.gif
|
||||
:align: center
|
||||
|
||||
`Video demostration`_
|
||||
|
||||
`Documentation`_
|
||||
The easiest way to use Mayan EDMS is by using the official Docker_ image.
|
||||
Make sure Docker is properly installed and working before attempting to install
|
||||
Mayan EDMS.
|
||||
|
||||
`Translations`_
|
||||
|
||||
`Mailing list (via Google Groups)`_
|
||||
|
||||
|Animation|
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
This project is open sourced under `Apache 2.0 License`_.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
To install Mayan EDMS, simply do:
|
||||
With Docker properly installed, proceed to download the Mayan EDMS image using
|
||||
the command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ virtualenv venv
|
||||
$ source venv/bin/activate
|
||||
(venv) $ pip install mayan-edms
|
||||
(venv) $ mayan-edms.py initialsetup
|
||||
(venv) $ mayan-edms.py runserver
|
||||
$ docker pull mayanedms/mayanedms:2.3
|
||||
|
||||
Point your browser to 127.0.0.1:8000 and use the automatically created admin
|
||||
account.
|
||||
After the image finishes downloading, initialize a Mayan EDMS container.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ docker run -d --name mayan-edms --restart=always -p 80:80 \
|
||||
-v mayan_data:/var/lib/mayan mayanedms/mayanedms:2.3
|
||||
|
||||
Point your browser to the IP address 127.0.0.1 (or the alternate port chosen,
|
||||
ie: 127.0.0.1:81) and use the automatically created admin account.
|
||||
|
||||
All files will be stored in the Docker volume ``mayan_data``
|
||||
|
||||
If another web server is running on port 80 use a different port in the ``-p``
|
||||
option, ie: ``-p 81:80``.
|
||||
|
||||
For the complete set of installation, configuration, upgrade, and backup
|
||||
instructions visit the Mayan EDMS Docker Hub page at:
|
||||
https://hub.docker.com/r/mayanedms/mayanedms/
|
||||
|
||||
.. _Docker: https://www.docker.com/
|
||||
|
||||
|
||||
.. _Website: http://www.mayan-edms.com
|
||||
.. _Video demostration: http://bit.ly/pADNXv
|
||||
.. _Documentation: http://readthedocs.org/docs/mayan/en/latest/
|
||||
.. _Translations: https://www.transifex.com/projects/p/mayan-edms/
|
||||
.. _Mailing list (via Google Groups): http://groups.google.com/group/mayan-edms
|
||||
.. _Apache 2.0 License: https://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
Important links
|
||||
|
||||
.. |Build Status| image:: https://gitlab.com/mayan-edms/mayan-edms/badges/master/build.svg
|
||||
:target: https://gitlab.com/mayan-edms/mayan-edms/commits/master
|
||||
.. |Logo| image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/mayan_logo.png
|
||||
.. |Animation| image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/overview.gif
|
||||
.. |PyPI badge| image:: http://img.shields.io/pypi/v/mayan-edms.svg?style=flat
|
||||
- `Homepage <http://www.mayan-edms.com>`__
|
||||
- `Videos <https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw>`__
|
||||
- `Documentation <http://mayan.readthedocs.io/en/stable/>`__
|
||||
- `Paid support <http://www.mayan-edms.com/providers/>`__
|
||||
- `Roadmap <https://gitlab.com/mayan-edms/mayan-edms/wikis/roadmap>`__
|
||||
- `Contributing <https://gitlab.com/mayan-edms/mayan-edms/blob/master/CONTRIBUTING.md>`__
|
||||
- `Community forum <https://groups.google.com/forum/#!forum/mayan-edms>`__
|
||||
- `Community forum archive <http://mayan-edms.1003.x6.nabble.com/>`__
|
||||
- `Source code, issues, bugs <https://gitlab.com/mayan-edms/mayan-edms>`__
|
||||
- `Plug-ins, other related projects <https://gitlab.com/mayan-edms/>`__
|
||||
- `Translations <https://www.transifex.com/rosarior/mayan-edms/>`__
|
||||
|
||||
|
||||
|
||||
.. |pypi| image:: http://img.shields.io/pypi/v/mayan-edms.svg
|
||||
:target: http://badge.fury.io/py/mayan-edms
|
||||
.. |License badge| image:: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat
|
||||
.. |Analytics| image:: https://ga-beacon.appspot.com/UA-52965619-2/mayan-edms/readme?pixel
|
||||
.. |Coverage badge| image:: https://codecov.io/gitlab/mayan-edms/mayan-edms/coverage.svg?branch=master
|
||||
.. |builds| image:: https://gitlab.com/mayan-edms/mayan-edms/badges/master/build.svg
|
||||
:target: https://gitlab.com/mayan-edms/mayan-edms/pipelines
|
||||
.. |coverage| image:: https://codecov.io/gitlab/mayan-edms/mayan-edms/coverage.svg?branch=master
|
||||
:target: https://codecov.io/gitlab/mayan-edms/mayan-edms?branch=master
|
||||
.. |Documentation| image:: https://readthedocs.org/projects/mayan/badge/?version=latest
|
||||
:target: http://mayan.readthedocs.io/en/latest
|
||||
.. |Python version| images:: https://img.shields.io/pypi/pyversions/mayan-edms.svg
|
||||
|
||||
|Analytics|
|
||||
.. |python| image:: https://img.shields.io/pypi/pyversions/mayan-edms.svg
|
||||
.. |license| image:: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat
|
||||
|
||||
@@ -5,10 +5,10 @@ import optparse
|
||||
import sh
|
||||
|
||||
APP_LIST = (
|
||||
'acls', 'appearance', 'authentication', 'checkouts', 'common',
|
||||
'acls', 'appearance', 'authentication', 'cabinets', 'checkouts', 'common',
|
||||
'converter', 'django_gpg', 'document_comments', 'document_indexing',
|
||||
'document_signatures', 'document_states', 'documents', 'dynamic_search',
|
||||
'events', 'folders', 'installation', 'linking', 'lock_manager', 'mailer',
|
||||
'events', 'folders', 'linking', 'lock_manager', 'mailer',
|
||||
'metadata', 'mirroring', 'motd', 'navigation', 'ocr', 'permissions',
|
||||
'rest_api', 'smart_settings', 'sources', 'statistics', 'storage', 'tags',
|
||||
'user_management'
|
||||
|
||||
75
docs/releases/2.1.10.rst
Normal file
75
docs/releases/2.1.10.rst
Normal file
@@ -0,0 +1,75 @@
|
||||
================================
|
||||
Mayan EDMS v2.1.10 release notes
|
||||
================================
|
||||
|
||||
Released: February 13, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a micro release equal to the previews version from the user's point of view.
|
||||
The version number was increase to workaround some issues with the Python
|
||||
Package Index not allowing re-uploads.
|
||||
|
||||
Changes
|
||||
-------------
|
||||
|
||||
- Update Makefile to use twine for releases.
|
||||
- Add Makefile target to make test releases.
|
||||
|
||||
Removals
|
||||
--------
|
||||
* None
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install -U mayan-edms
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
Using Git
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
Common steps
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
Bugs fixed or issues closed
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
94
docs/releases/2.1.11.rst
Normal file
94
docs/releases/2.1.11.rst
Normal file
@@ -0,0 +1,94 @@
|
||||
================================
|
||||
Mayan EDMS v2.1.11 release notes
|
||||
================================
|
||||
|
||||
Released: March 14, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix release and all users are encouraged to upgrade. The focus
|
||||
of this micro release was REST API improvement.
|
||||
|
||||
Changes
|
||||
-------------
|
||||
|
||||
- Added a quick rename serializer to the document type API serializer.
|
||||
- Added per document type, workflow list API view. The URL for this endpoint is
|
||||
GET /api/document_states/document_type/{pk}/workflows/
|
||||
- Added Developer Certificate of Origin. Mayan EDMS was adopted a version 1.1 of
|
||||
the Linux Foundation Developer Certificate of Origin. All commits must be
|
||||
signed (`git commit -s`) in order to be merged.
|
||||
- Added the detail url of a permission in the permission serializer.
|
||||
- Added endpoints for the ACL app API.
|
||||
- Implemented document workflows transition ACLs. GitLab issue #321.
|
||||
- Add document comments API endpoints. GitHub issue #249.
|
||||
- Add support for overriding the Celery class. The setting is named
|
||||
MAYAN_CELERY_CLASS and expects a dotted python path to the class to use.
|
||||
- Changed the document upload view in source app to not use the HTTP referer
|
||||
URL blindly, but instead recompose the URL using known view name. Needed
|
||||
when integrating Mayan EDMS into other app via using iframes.
|
||||
- Addes size field to the document version serializer.
|
||||
- Removed the serializer from the deleted document restore API endpoint
|
||||
it doesn't need a serializer being just an action POST endpoint.
|
||||
- Added support for adding or editing document types to smart links via the
|
||||
API.
|
||||
|
||||
Removals
|
||||
--------
|
||||
* None
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install -U mayan-edms
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
Using Git
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
Common steps
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
Bugs fixed or issues closed
|
||||
===========================
|
||||
|
||||
* `Github issue #249 <https://github.com/mayan-edms/mayan-edms/issues/249>`_ Add document comments API [$50 US]
|
||||
* `GitLab issue #321 <https://gitlab.com/mayan-edms/mayan-edms/issues/321>`_ Transition ACLS
|
||||
* `GitLab issue #357 <https://gitlab.com/mayan-edms/mayan-edms/issues/357>`_ It should be possible to retrieve all workflows for a given DocumentType from the API
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
83
docs/releases/2.1.8.rst
Normal file
83
docs/releases/2.1.8.rst
Normal file
@@ -0,0 +1,83 @@
|
||||
===============================
|
||||
Mayan EDMS v2.1.8 release notes
|
||||
===============================
|
||||
|
||||
Released: February 12, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix release and all users are encouraged to upgrade. The focus
|
||||
of this micro release was REST API improvement.
|
||||
|
||||
Changes
|
||||
-------------
|
||||
|
||||
- Fixes in the trashed document API endpoints.
|
||||
- Improved tags API PUT and PATCH endpoints.
|
||||
- Bulk document adding when creating and editing tags.
|
||||
- The version of django-mptt is preserved in case mayan-cabinets is installed.
|
||||
- Add Django GPG API endpoints for singing keys.
|
||||
- Add API endpoints for the document states app.
|
||||
- Add API endpoints for the messsage of the day (MOTD) app.
|
||||
- Add Smart link API endpoints.
|
||||
- Add writable versions of the Document and Document Type serializers (GitLab issues #348 and #349).
|
||||
|
||||
Removals
|
||||
--------
|
||||
* None
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install -U mayan-edms
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
Using Git
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
Common steps
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
Bugs fixed or issues closed
|
||||
===========================
|
||||
|
||||
* `GitLab issue #310 <https://gitlab.com/mayan-edms/mayan-edms/issues/310>`_ Metadata's lookup with chinese messages when new document
|
||||
* `GitLab issue #348 <https://gitlab.com/mayan-edms/mayan-edms/issues/348>`_ REST API: Document version comments are not getting updated
|
||||
* `GitLab issue #349 <https://gitlab.com/mayan-edms/mayan-edms/issues/349>`_ REST API: Document Label, Description are not able to update
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
74
docs/releases/2.1.9.rst
Normal file
74
docs/releases/2.1.9.rst
Normal file
@@ -0,0 +1,74 @@
|
||||
===============================
|
||||
Mayan EDMS v2.1.9 release notes
|
||||
===============================
|
||||
|
||||
Released: February 13, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a micro release equal to the previews version from the user's point of view.
|
||||
The version number was increase to workaround some issues with the Python
|
||||
Package Index not allowing re-uploads.
|
||||
|
||||
Changes
|
||||
-------------
|
||||
|
||||
- Update make file to Workaround long standing pypa wheel bug #99
|
||||
|
||||
Removals
|
||||
--------
|
||||
* None
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install -U mayan-edms
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
Using Git
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
Common steps
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
Bugs fixed or issues closed
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
@@ -2,32 +2,160 @@
|
||||
Mayan EDMS v2.2 release notes
|
||||
=============================
|
||||
|
||||
Released: XX, 2017
|
||||
Released: April 26, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
API changes
|
||||
-----------
|
||||
Refactor of the metadata API URLs to use the resource/sub resource paradigm.
|
||||
|
||||
Before:
|
||||
|
||||
/api/metadata/metadata_types/
|
||||
/api/metadata/metadata_types/{pk}/
|
||||
/api/metadata/document/metadata/{pk}/
|
||||
/api/metadata/document/{pk}/metadata/
|
||||
/api/metadata/document_type/{document_type_pk}/metadata_types/optional/
|
||||
/api/metadata/document_type/{document_type_pk}/metadata_types/required/
|
||||
|
||||
After:
|
||||
|
||||
/api/metadata/metadata_types/
|
||||
/api/metadata/metadata_types/{metadata_type_pk}/
|
||||
/api/metadata/document_types/{document_type_pk}/metadata_types/
|
||||
/api/metadata/document_types/{document_type_pk}/metadata_types/{metadata_type_pk}/
|
||||
/api/metadata/documents/{document_pk}/metadata/
|
||||
/api/metadata/documents/{document_pk}/metadata/{metadata_pk}/
|
||||
|
||||
|
||||
Document API URLs updated to use the resource/sub resource paradigm.
|
||||
Before:
|
||||
|
||||
/api/documents/document_version<pk>
|
||||
/api/documents/document_pages<pk>
|
||||
|
||||
After:
|
||||
/api/documents/<pk>/version/<version_pk>
|
||||
/api/documents/<pk>/version/<version_pk>/pages/<page_pk>
|
||||
|
||||
Fields that reference a resource by URL now have the suffix '_url' to differentiate
|
||||
then from fields include the resource.
|
||||
|
||||
Before:
|
||||
|
||||
'document': '/api/documents/10'
|
||||
|
||||
After:
|
||||
|
||||
'document_url': '/api/documents/10'
|
||||
|
||||
Removal of the document version revert API endpoint. To revert a document to a
|
||||
previous version using the API, use the DELETE verb to delete the most recent
|
||||
document version to be discarded.
|
||||
|
||||
Pages data is no longer included as part of the version data. Instead a link to
|
||||
the document version's pages has been added by the name 'pages_url'. This
|
||||
resolved to '/api/documents/<pk>/pages/<page_pk>/pages'.
|
||||
|
||||
- New API endpoints (initial work by @lokeshmanmode):
|
||||
|
||||
- API endpoint to change an user's groups subscription.
|
||||
- API endpoint that list all available permissions types.
|
||||
- API endpoint to view or change a role's groups.
|
||||
- API endpoint to view or change a role's permissions.
|
||||
|
||||
Code cleanups
|
||||
-------------
|
||||
As with every release time was dedicated to improve the organization, size, and
|
||||
readability of code. To this end the licenses of each app were moved to their
|
||||
own module in every app, called licenses.py. As part of the code cleanup the
|
||||
seldom used app called 'installation' which tracked runtime Python packages
|
||||
installed alongside Mayan EDMS for debugging purposes has been removed. The
|
||||
dependency on django-filetransfer has been removed by using
|
||||
django-downloadviews which allows the creation of class based download views.
|
||||
|
||||
Performance
|
||||
-----------
|
||||
The document language list has been moved from the document model to the
|
||||
document form. This change speeds up loading time, document properties views
|
||||
and API documentation views. This version includes the new image caching
|
||||
pipeline which stores transformed (rotated, scaled, etc) versions of the
|
||||
document's images resulting in an overall display loading speed up. The fonts
|
||||
used are now loaded from Mayan EDMS itself and not from the web. This change
|
||||
also allow Mayan EDMS to work in a completely off-line manner.
|
||||
|
||||
Searching
|
||||
---------
|
||||
Support for searching pages as well as documents has been added. This
|
||||
functionality has been exposed in the API too.
|
||||
|
||||
Security
|
||||
--------
|
||||
This release enables the password validation for the user password validation
|
||||
support provided by Django. This change allows administrator to set password
|
||||
policies limiting the minimum amount of characters needed for example. For
|
||||
more information on how to configure the password validation feature refer
|
||||
to Django's documentation at: https://docs.djangoproject.com/en/1.11/topics/auth/passwords/#enabling-password-validation
|
||||
|
||||
Sources
|
||||
-------
|
||||
To help test the interval sources (POP3 Email, IMAP Email, Watch folders) a
|
||||
"Check now" button was added that allows users to trigger the source's
|
||||
document fetching code instantly. Previously users had to wait until the next
|
||||
scheduled interval to verify if their source's settings were correct.
|
||||
|
||||
Testing
|
||||
-------
|
||||
The testing process has been simplified by adding a new option '--mayan-apps'
|
||||
to the test runner that automatically tests all Mayan EDMS apps that report to
|
||||
include tests. The app flag that indicates when an app has test was changed
|
||||
from 'test' to the more explicit 'has_test'. The packaging manifest now
|
||||
includes test files, this means that tests can now be executed in production.
|
||||
The total number of tests was raised to 359 and the total coverage increased
|
||||
to 81%.
|
||||
|
||||
A custom test runner replacing the previous custom management command
|
||||
called `runtests`. Testing for orphaned temporary files and orphaned file
|
||||
handles is now optional and controlled by the COMMON_TEST_FILE_HANDLES and
|
||||
COMMON_TEST_FILE_HANDLES settings.
|
||||
|
||||
User interface
|
||||
--------------
|
||||
To avoid warping on long full names or usernames, the user's full name or
|
||||
username is no longer displayed in the main menu. Instead the word "Profile"
|
||||
is displayed and the users's full name or username is displayed when the
|
||||
"Profile" icon is clicked. Drop down menus support has been added and enabled
|
||||
for several apps like documents, folders, and tags. This change make navigation
|
||||
much faster and required less mouse travel.
|
||||
|
||||
Support was added for a dashboard widgets and several default widgets are
|
||||
included and enabled.
|
||||
|
||||
A view to clone a document page transformation to other pages has been added.
|
||||
A document page transformation navigation bug has been fixed. To aid visual
|
||||
lookup, tags are now alphabetically ordered by label.
|
||||
|
||||
A new workflow view that lists documents currently executing a workflow and
|
||||
documents by their specific current workflow state has been added to the
|
||||
main menu.
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Remove the installation app
|
||||
- Add support for page search
|
||||
- Remove recent searches feature
|
||||
- Remove dependency on the django-filetransfer library
|
||||
- Fix height calculation in resize transformation
|
||||
- Improve upgrade instructions
|
||||
- New image caching pipeline
|
||||
- New drop down menus for the documents, folders and tags app as well as for
|
||||
the user links
|
||||
- Dashboard
|
||||
- Moved licenses to their own module in every app
|
||||
- Update project to work with Django 1.10.4
|
||||
- Tags are alphabetically ordered by label
|
||||
- Stop loading theme fonts from the web
|
||||
- Cabinets app is now integrated as a core app.
|
||||
- Now that the Cabinets app is included, the Folders app has been disabled
|
||||
by default. To enable the Folders apps add the following line to your
|
||||
settings/local.py file::
|
||||
|
||||
INSTALLED_APPS += ('folders',)
|
||||
|
||||
- Fix height calculation in resize transformation.
|
||||
- Improve upgrade instructions.
|
||||
- Update project to work with Django 1.10.
|
||||
- Add support for attaching multiple tags to single or multiple documents.
|
||||
- Refactor the workflow for removing tags from single and multiple documents.
|
||||
- Move new version creation blocking from the documents app to the checkouts app.
|
||||
- Sample documents moved to distribution to allow running all tests in production.
|
||||
- DEBUG now defaults to False.
|
||||
- Production settings don't override the DEBUG variable. DEBUG can be set to True
|
||||
on production install to debug errors live.
|
||||
@@ -38,20 +166,7 @@ Other changes
|
||||
- Addition of a new OCR backend using PyOCR. This backend tries first to do OCR
|
||||
using libtesseract. If libtesseract is not available the backend defaults to
|
||||
calling the Tesseract executable.
|
||||
- Language list moved from document model to document form.
|
||||
- Enable password validation for the user password change view, user password change API endpoint, current user view and current user API endpoint.
|
||||
- New API endpoints (initial work by @lokeshmanmode):
|
||||
|
||||
- API endpoint to change an user's groups subscription.
|
||||
- API endpoint that list all available permissions types.
|
||||
- API endpoint to view or change a role's groups.
|
||||
- API endpoint to view or change a role's permissions.
|
||||
|
||||
- Make the lock_manager.backends.file_lock.FileLock the new default locking backend.
|
||||
- Add view to clone a document page transformation to other pages.
|
||||
- Document page transformation navigation bug fixed.
|
||||
- Move test total to 359.
|
||||
- Increase test coverage to 81%.
|
||||
- New transformations added:
|
||||
|
||||
- Rotate 90 degrees
|
||||
@@ -62,11 +177,15 @@ Other changes
|
||||
- Gaussian blur
|
||||
- Unsharp masking
|
||||
|
||||
- Add tool to launch all workflows. GitLab issue #355
|
||||
|
||||
Removals
|
||||
--------
|
||||
- Removal of the OCR_TESSERACT_PATH configuration setting.
|
||||
- Removal of the Tesseract OCR backend. Replaced with a PyOCR backend.
|
||||
- Remove usage of pytesseract Python library.
|
||||
- Installation app.
|
||||
- Recent searches feature.
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
@@ -95,13 +214,13 @@ Manually upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
Common steps
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ pip uninstall -y -r removals.txt
|
||||
|
||||
Common steps
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
@@ -134,5 +253,6 @@ Bugs fixed or issues closed
|
||||
* `GitLab issue #328 <https://gitlab.com/mayan-edms/mayan-edms/issues/328>`_ Upgrade Warning/Error during performupgrade (v2.1.3 to v2.1.4)
|
||||
* `GitLab issue #342 <https://gitlab.com/mayan-edms/mayan-edms/issues/342>`_ Tags should be of unordered / unsorted data type
|
||||
* `GitLab issue #343 <https://gitlab.com/mayan-edms/mayan-edms/issues/343>`_ Bootstrap's dependency on fonts.googleapis.com causes Mayan EDMS web interface load slowly if public internet is unreachable
|
||||
* `GitLab issue #355 <https://gitlab.com/mayan-edms/mayan-edms/issues/355>`_ Workflow changes only on new added documents
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
101
docs/releases/2.3.rst
Normal file
101
docs/releases/2.3.rst
Normal file
@@ -0,0 +1,101 @@
|
||||
=============================
|
||||
Mayan EDMS v2.3 release notes
|
||||
=============================
|
||||
|
||||
Released: June 08, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix and minor feature release and all users are encouraged to
|
||||
upgrade.
|
||||
|
||||
Changes
|
||||
-------------
|
||||
- Index node expression template field changed from a 128 character field to an
|
||||
unlimited size text field to allow for complex indexing expressions.
|
||||
- When updating the metadata of a document, any input in the value form field
|
||||
will select the adjacent checkbox.
|
||||
- Support for passing the FUSE option `allow-other` and `allow-root` was added
|
||||
to the index mirroring management command.
|
||||
- Added support for checking for the latest released version of Mayan from the
|
||||
About menu.
|
||||
- Added support for rebuilding specific indexes instead of only being able to
|
||||
rebuild all index. GitLab issue #372.
|
||||
- Rewrite document indexing code to be faster and use less locking. Thanks to
|
||||
Macrobb Simpson (@Macrobb) for the initial implementation.
|
||||
- Use a predefined file path for the file lock.
|
||||
- Catch documents with not document version when displaying their thumbnails.
|
||||
- Add custom script_prefix aware resolve function and use it for the
|
||||
document page navigation views. Fixes an issue when Mayan is installed
|
||||
as a sub URL app. Thanks to Gustavo Teixeira(@gsteixei) for the issue and
|
||||
investigation.
|
||||
- Support was added to update document indexes after workflow state changes.
|
||||
- An helper was added to access a documents workflow by name. To this end
|
||||
a new field was added to the Workflow class called `Internal name`.
|
||||
This new field makes it much easier to get a document's workflow instance.
|
||||
If for example a document has a workflow called `Publish` with the internal
|
||||
name `publish_workflow`, it will be accessible in the indexing template as
|
||||
{{ document.workflow.publish_workflow }}. The latest state of the workflow
|
||||
can be accessed using {{ document.workflow.publish_workflow.get_current_state }}.
|
||||
- Added a new API endpoint to display a list of all the available search models.
|
||||
|
||||
Removals
|
||||
--------
|
||||
* None
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install -U mayan-edms
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
Using Git
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
Common steps
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
Bugs fixed or issues closed
|
||||
===========================
|
||||
|
||||
* `GitLab issue #371 <https://gitlab.com/mayan-edms/mayan-edms/issues/371>`_ Auto select checkbox when updating metadata
|
||||
* `GitLab issue #372 <https://gitlab.com/mayan-edms/mayan-edms/issues/372>`_ (Feature request) Allow 'rebuild index' to rebuild only a selected index
|
||||
* `GitLab issue #383 <https://gitlab.com/mayan-edms/mayan-edms/issues/383>`_ Page not found when deployed to sub-uri
|
||||
* `GitLab issue #385 <https://gitlab.com/mayan-edms/mayan-edms/issues/385>`_ mountindex: how to specify FUSE mount option allow_other?
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
@@ -22,7 +22,12 @@ versions of the documentation contain the release notes for any later releases.
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
2.3
|
||||
2.2
|
||||
2.1.11
|
||||
2.1.10
|
||||
2.1.9
|
||||
2.1.8
|
||||
2.1.7
|
||||
2.1.6
|
||||
2.1.5
|
||||
|
||||
@@ -3,7 +3,8 @@ Advanced deployment
|
||||
===================
|
||||
|
||||
Mayan EDMS should be deployed like any other Django_ project and
|
||||
preferably using virtualenv_.
|
||||
preferably using virtualenv_. Below are some ways to deploy and use Mayan EDMS.
|
||||
Do not use more than one method.
|
||||
|
||||
Being a Django_ and a Python_ project, familiarity with these technologies is
|
||||
recommended to better understand why Mayan EDMS does some of the things it
|
||||
@@ -58,7 +59,7 @@ to /usr/bin/ with ...
|
||||
|
||||
sudo ln -s /opt/local/bin/tesseract /usr/bin/tesseract
|
||||
|
||||
... alternatively set the paths in the ``settings/locals.py``
|
||||
Alternatively, set the paths in the ``settings/locals.py``
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
@@ -76,9 +77,9 @@ With Homebrew installed run the command:
|
||||
Set the Binary paths
|
||||
********************
|
||||
|
||||
Mayan EDMS by default will look in /usr/bin/ for the binary files it needs
|
||||
so either you can symlink the binaries installed via brew in /usr/local/bin/
|
||||
to /usr/bin/ with ...
|
||||
Mayan EDMS by default will look in /usr/bin/ for the binary files it needs.
|
||||
You can symlink the binaries installed via brew in /usr/local/bin/
|
||||
to /usr/bin/ with:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -87,7 +88,7 @@ to /usr/bin/ with ...
|
||||
sudo ln -s /usr/local/bin/pdftotext /usr/bin/pdftotext && \
|
||||
sudo ln -s /usr/local/bin/gs /usr/bin/gs
|
||||
|
||||
... alternatively set the paths in the ``settings/locals.py``
|
||||
Alternatively, set the paths in the ``settings/locals.py``
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
@@ -265,15 +266,18 @@ Make the installation directory readable and writable by the webserver user::
|
||||
|
||||
chown www-data:www-data /usr/share/mayan-edms -R
|
||||
|
||||
Restart the services::
|
||||
Enable and restart the services [1_]::
|
||||
|
||||
systemctl enable supervisor
|
||||
systemctl restart supervisor
|
||||
systemctl restart nginx
|
||||
|
||||
[1]: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1594740
|
||||
|
||||
.. _Debian: http://www.debian.org/
|
||||
.. _Django: http://www.djangoproject.com/
|
||||
.. _Python: http://www.python.org/
|
||||
.. _SQLite: https://www.sqlite.org/
|
||||
.. _Ubuntu: http://www.ubuntu.com/
|
||||
.. _virtualenv: http://www.virtualenv.org/en/latest/index.html
|
||||
.. _1: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1594740
|
||||
|
||||
@@ -16,8 +16,8 @@ request on GitLab_.
|
||||
Project philosophies
|
||||
--------------------
|
||||
|
||||
How to think about Mayan EDMS when doing changes or adding new features,
|
||||
why things are the way they are in Mayan EDMS.
|
||||
How to think about Mayan EDMS when doing changes or adding new features;
|
||||
why things are the way they are in Mayan EDMS:
|
||||
|
||||
- Functionality must be as market/sector independent as possible, code for the
|
||||
95% of use cases.
|
||||
@@ -36,7 +36,7 @@ why things are the way they are in Mayan EDMS.
|
||||
not viable/mature/efficient.
|
||||
- Each app is as independent and self contained as possible. Exceptions, the
|
||||
basic requirements: navigation, permissions, common, main.
|
||||
- If an app is meant to be used by more than one other app it should be as
|
||||
- If an app is meant to be used by more than one other app, it should be as
|
||||
generic as possible in regard to the project and another app will bridge the functionality.
|
||||
|
||||
- Example: since indexing (document_indexing) only applies to documents, the
|
||||
@@ -48,7 +48,7 @@ Coding conventions
|
||||
|
||||
Follow PEP8
|
||||
~~~~~~~~~~~
|
||||
Whenever possible, but don't obsess over things like line length.
|
||||
Whenever possible, but don't obsess over things like line length:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -103,9 +103,9 @@ Example:
|
||||
)
|
||||
from .models import Index, IndexInstanceNode, DocumentRenameCount
|
||||
|
||||
All local app module imports are in relative form, local app module name is to
|
||||
All local app module imports are in relative form. Local app module name is to
|
||||
be referenced as little as possible, unless required by a specific feature,
|
||||
trick, restriction, ie: Runtime modification of the module's attributes.
|
||||
trick, restriction (e.g., Runtime modification of the module's attributes).
|
||||
|
||||
Incorrect:
|
||||
|
||||
@@ -128,7 +128,7 @@ Dependencies
|
||||
Mayan EDMS apps follow a hierarchical model of dependency. Apps import from
|
||||
their parents or siblings, never from their children. Think plugins. A parent
|
||||
app must never assume anything about a possible existing child app. The
|
||||
documents app and the Document model are the basic entities they must never
|
||||
documents app and the Document model are the basic entities; they must never
|
||||
import anything else. The common and main apps are the base apps.
|
||||
|
||||
|
||||
@@ -423,3 +423,16 @@ Wheel package
|
||||
$ pip install <path of the Git repository>/dist/mayan_edms-x.y.z-py2-none-any.whl
|
||||
$ mayan-edms.py initialsetup
|
||||
$ mayan-edms.py runserver
|
||||
|
||||
|
||||
Version numbering
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Mayan EDMS uses the Semantic Versioning (http://semver.org/) method to choose
|
||||
version numbers along with Python's PEP-0440 (https://www.python.org/dev/peps/pep-0440/)
|
||||
to format them.
|
||||
|
||||
X.YaN # Alpha release
|
||||
X.YbN # Beta release
|
||||
X.YrcN # Release Candidate
|
||||
X.Y # Final release
|
||||
|
||||
@@ -126,3 +126,10 @@ dependent support Python 3 then will the project move to fully support Python 3.
|
||||
|
||||
Make sure that the Celery BEAT scheduler is running correctly as it is the element
|
||||
that triggers the periodics tasks.
|
||||
|
||||
**Q: How to do LDAP authentication**
|
||||
|
||||
A sample settings file called ldap_connection_settings.py is included in the
|
||||
contrib/settings/ folder of the repository showing how to setup LDAP
|
||||
authentication.
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ Features
|
||||
* Dynamic default values for metadata.
|
||||
|
||||
* Metadata fields can have an initial value, which can be static or determined
|
||||
by an user provided template code snippet.
|
||||
by a template code snippet provided by the user.
|
||||
|
||||
* Documents can be uploaded from different sources.
|
||||
|
||||
@@ -68,7 +68,7 @@ Features
|
||||
|
||||
* Multi page document support.
|
||||
|
||||
* Multiple page PDFs and TIFFs files are supported.
|
||||
* Multiple page PDF and TIFF files are supported.
|
||||
|
||||
* Automatic OCR processing.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ Installation
|
||||
============
|
||||
|
||||
The easiest way to use Mayan EDMS is by using the official Docker_ image.
|
||||
Make sure Docker_ is properly installed and working before attempting to install
|
||||
Make sure Docker is properly installed and working before attempting to install
|
||||
Mayan EDMS.
|
||||
|
||||
With Docker properly installed, proceed to download the Mayan EDMS image using
|
||||
@@ -10,102 +10,25 @@ the command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
docker pull mayanedms/mayanedms
|
||||
$ docker pull mayanedms/mayanedms:2.3
|
||||
|
||||
After the image finishes downloading, initialize a Mayan EDMS container.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
docker run --rm -v mayan_media:/var/lib/mayan \
|
||||
-v mayan_settings:/etc/mayan mayanedms/mayanedms mayan:init
|
||||
$ docker run -d --name mayan-edms --restart=always -p 80:80 \
|
||||
-v mayan_data:/var/lib/mayan mayanedms/mayanedms:2.3
|
||||
|
||||
With initialization complete, launch the container. If another web server is
|
||||
running on port 80 use a different port in the -p option, ie: -p 81:80.
|
||||
Point your browser to the IP address 127.0.0.1 (or the alternate port chosen,
|
||||
ie: 127.0.0.1:81) and use the automatically created admin account.
|
||||
|
||||
.. code-block:: bash
|
||||
All files will be stored in the Docker volume ``mayan_data``
|
||||
|
||||
docker run -d --name mayan-edms --restart=always -p 80:80 \
|
||||
-v mayan_media:/var/lib/mayan -v mayan_settings:/etc/mayan \
|
||||
mayanedms/mayanedms
|
||||
|
||||
Point your browser to 127.0.0.1 (or the alternate port chosen, ie: 127.0.0.1:81)
|
||||
and use the automatically created admin account.
|
||||
|
||||
All files will be stored in the following two volumes:
|
||||
|
||||
- mayan_media
|
||||
- mayan_settings
|
||||
|
||||
Stopping and starting
|
||||
---------------------
|
||||
To stop the container use::
|
||||
|
||||
docker stop mayan-edms
|
||||
|
||||
To start the container again::
|
||||
|
||||
docker start mayan-edms
|
||||
|
||||
Configuring
|
||||
-----------
|
||||
To edit the settings file, check the physical location of the `mayan_settings`
|
||||
volume using::
|
||||
|
||||
docker volume inspect mayan_settings
|
||||
|
||||
Which should produce an output similar to this one:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
[
|
||||
{
|
||||
"Name": "mayan_settings",
|
||||
"Driver": "local",
|
||||
"Mountpoint": "/var/lib/docker/volumes/mayan_settings/_data",
|
||||
"Labels": null,
|
||||
"Scope": "local"
|
||||
}
|
||||
]
|
||||
|
||||
In this case the physical location of the `mayan_settings` volume is
|
||||
`/var/lib/docker/volumes/mayan_settings/_data`. Edit the settings file with your
|
||||
favorite editor::
|
||||
|
||||
sudo vi /var/lib/docker/volumes/mayan_settings/_data/local.py
|
||||
|
||||
Backups
|
||||
-------
|
||||
|
||||
To backup the existing data, check the physical location of the `mayan_media`
|
||||
volume using::
|
||||
|
||||
docker volume inspect mayan_media
|
||||
|
||||
Which should produce an output similar to this one:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
[
|
||||
{
|
||||
"Name": "mayan_settings",
|
||||
"Driver": "local",
|
||||
"Mountpoint": "/var/lib/docker/volumes/mayan_media/_data",
|
||||
"Labels": null,
|
||||
"Scope": "local"
|
||||
}
|
||||
]
|
||||
|
||||
Only the `db.sqlite3` file and the `document_storage` folder need to be backed
|
||||
up::
|
||||
|
||||
sudo tar -zcvf backup.tar.gz /var/lib/docker/volumes/mayan_media/_data/document_storage /var/lib/docker/volumes/mayan_media/_data/db.sqlite3
|
||||
sudo chown `whoami` backup.tar.gz
|
||||
|
||||
Restore
|
||||
-------
|
||||
Uncompress the archive in the original docker volume using::
|
||||
|
||||
sudo tar -xvzf backup.tar.gz -C /
|
||||
If another web server is running on port 80 use a different port in the ``-p``
|
||||
option, ie: ``-p 81:80``.
|
||||
|
||||
For the complete set of installation, configuration, upgrade, and backup
|
||||
instructions visit the Mayan EDMS Docker Hub page at:
|
||||
https://hub.docker.com/r/mayanedms/mayanedms/
|
||||
|
||||
.. _Docker: https://www.docker.com/
|
||||
|
||||
@@ -2,21 +2,20 @@
|
||||
Transformations
|
||||
===============
|
||||
|
||||
Transformation are persistent manipulations to the previews of the stored
|
||||
documents. For example: a scanning equipment may only produce landscape PDFs.
|
||||
In this case an useful transformation for that document source would be to
|
||||
rotate all documents scanned by 270 degrees after being uploaded, this way
|
||||
whenever a document is uploaded from that scanner it will appear in portrait
|
||||
orientation. In this case add a this transformation to the Mayan EDMS source
|
||||
that is connected to that device this way all pages scanned via that source
|
||||
with inherit the transformation as they are created.
|
||||
Transformations are persistent manipulations to the previews of the stored
|
||||
documents. For example: a scanning equipment may only produce landscape PDFs.
|
||||
In this case a useful transformation for that document source would be to rotate
|
||||
all scanned documents by 270 degrees after being uploaded. By adding this
|
||||
transformation to the Mayan EDMS source that is connected to the scanner, all
|
||||
pages scanned via that source will inherit the transformation as they are
|
||||
created. The result is that whenever a document is uploaded from that scanner,
|
||||
it will appear in portrait orientation, instead of landscape orientation.
|
||||
|
||||
Transformations can also be added to existing documents, by clicking on a
|
||||
document's page, then clicking on "transformations". In this view the Actions
|
||||
menu will have a new option that reads "Create new transformation". At the
|
||||
moment the rotation, zoom, crop, and resize transformations are available.
|
||||
Once the document image has been corrected resubmit it for OCR for improved
|
||||
results.
|
||||
Transformations can also be added to existing documents by clicking on a
|
||||
document's page and then clicking on "transformations". In this view the Actions
|
||||
menu will have a new option that reads "Create new transformation". Currently,
|
||||
the available transformations are: rotation, zoom, crop, and resize. Once the
|
||||
document image has been corrected, resubmit it for OCR for improved results.
|
||||
|
||||
Transformations are not destructive and do not physically modify the document
|
||||
Transformations are not destructive and do not physically modify the document
|
||||
file, they just modify the document's graphical representation.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
__title__ = 'Mayan EDMS'
|
||||
__version__ = '2.1.7'
|
||||
__build__ = 0x020107
|
||||
__version__ = '2.3'
|
||||
__build__ = 0x020300
|
||||
__author__ = 'Roberto Rosario'
|
||||
__author_email__ = 'roberto.rosario@mayan-edms.com'
|
||||
__description__ = 'Free Open Source Electronic Document Management System'
|
||||
|
||||
250
mayan/apps/acls/api_views.py
Normal file
250
mayan/apps/acls/api_views.py
Normal file
@@ -0,0 +1,250 @@
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from rest_framework import generics
|
||||
|
||||
from permissions import Permission
|
||||
|
||||
from .models import AccessControlList
|
||||
from .permissions import permission_acl_edit, permission_acl_view
|
||||
from .serializers import (
|
||||
AccessControlListPermissionSerializer, AccessControlListSerializer,
|
||||
WritableAccessControlListPermissionSerializer,
|
||||
WritableAccessControlListSerializer
|
||||
)
|
||||
|
||||
|
||||
class APIObjectACLListView(generics.ListCreateAPIView):
|
||||
def get(self, *args, **kwargs):
|
||||
"""
|
||||
Returns a list of all the object's access control lists
|
||||
"""
|
||||
|
||||
return super(APIObjectACLListView, self).get(*args, **kwargs)
|
||||
|
||||
def get_content_object(self):
|
||||
content_type = get_object_or_404(
|
||||
ContentType, app_label=self.kwargs['app_label'],
|
||||
model=self.kwargs['model']
|
||||
)
|
||||
|
||||
content_object = get_object_or_404(
|
||||
content_type.model_class(), pk=self.kwargs['object_pk']
|
||||
)
|
||||
|
||||
if self.request.method == 'GET':
|
||||
permission_required = permission_acl_view
|
||||
else:
|
||||
permission_required = permission_acl_edit
|
||||
|
||||
try:
|
||||
Permission.check_permissions(
|
||||
self.request.user, permissions=(permission_required,)
|
||||
)
|
||||
except PermissionDenied:
|
||||
AccessControlList.objects.check_access(
|
||||
permission_required, self.request.user, content_object
|
||||
)
|
||||
|
||||
return content_object
|
||||
|
||||
def get_queryset(self):
|
||||
return self.get_content_object().acls.all()
|
||||
|
||||
def get_serializer_context(self):
|
||||
"""
|
||||
Extra context provided to the serializer class.
|
||||
"""
|
||||
|
||||
return {
|
||||
'content_object': self.get_content_object(),
|
||||
'format': self.format_kwarg,
|
||||
'request': self.request,
|
||||
'view': self
|
||||
}
|
||||
|
||||
def get_serializer_class(self):
|
||||
if self.request.method == 'GET':
|
||||
return AccessControlListSerializer
|
||||
else:
|
||||
return WritableAccessControlListSerializer
|
||||
|
||||
def post(self, *args, **kwargs):
|
||||
"""
|
||||
Create a new access control list for the selected object.
|
||||
"""
|
||||
|
||||
return super(APIObjectACLListView, self).post(*args, **kwargs)
|
||||
|
||||
|
||||
class APIObjectACLView(generics.RetrieveDestroyAPIView):
|
||||
serializer_class = AccessControlListSerializer
|
||||
|
||||
def delete(self, *args, **kwargs):
|
||||
"""
|
||||
Delete the selected access control list.
|
||||
"""
|
||||
|
||||
return super(APIObjectACLView, self).delete(*args, **kwargs)
|
||||
|
||||
def get(self, *args, **kwargs):
|
||||
"""
|
||||
Returns the details of the selected access control list.
|
||||
"""
|
||||
|
||||
return super(APIObjectACLView, self).get(*args, **kwargs)
|
||||
|
||||
def get_content_object(self):
|
||||
if self.request.method == 'GET':
|
||||
permission_required = permission_acl_view
|
||||
else:
|
||||
permission_required = permission_acl_edit
|
||||
|
||||
content_type = get_object_or_404(
|
||||
ContentType, app_label=self.kwargs['app_label'],
|
||||
model=self.kwargs['model']
|
||||
)
|
||||
|
||||
content_object = get_object_or_404(
|
||||
content_type.model_class(), pk=self.kwargs['object_pk']
|
||||
)
|
||||
|
||||
try:
|
||||
Permission.check_permissions(
|
||||
self.request.user, permissions=(permission_required,)
|
||||
)
|
||||
except PermissionDenied:
|
||||
AccessControlList.objects.check_access(
|
||||
permission_required, self.request.user, content_object
|
||||
)
|
||||
|
||||
return content_object
|
||||
|
||||
def get_queryset(self):
|
||||
return self.get_content_object().acls.all()
|
||||
|
||||
|
||||
class APIObjectACLPermissionListView(generics.ListCreateAPIView):
|
||||
def get(self, *args, **kwargs):
|
||||
"""
|
||||
Returns the access control list permission list.
|
||||
"""
|
||||
|
||||
return super(
|
||||
APIObjectACLPermissionListView, self
|
||||
).get(*args, **kwargs)
|
||||
|
||||
def get_acl(self):
|
||||
return get_object_or_404(
|
||||
self.get_content_object().acls, pk=self.kwargs['pk']
|
||||
)
|
||||
|
||||
def get_content_object(self):
|
||||
content_type = get_object_or_404(
|
||||
ContentType, app_label=self.kwargs['app_label'],
|
||||
model=self.kwargs['model']
|
||||
)
|
||||
|
||||
content_object = get_object_or_404(
|
||||
content_type.model_class(), pk=self.kwargs['object_pk']
|
||||
)
|
||||
|
||||
try:
|
||||
Permission.check_permissions(
|
||||
self.request.user, permissions=(permission_acl_view,)
|
||||
)
|
||||
except PermissionDenied:
|
||||
AccessControlList.objects.check_access(
|
||||
permission_acl_view, self.request.user, content_object
|
||||
)
|
||||
|
||||
return content_object
|
||||
|
||||
def get_queryset(self):
|
||||
return self.get_acl().permissions.all()
|
||||
|
||||
def get_serializer_class(self):
|
||||
if self.request.method == 'GET':
|
||||
return AccessControlListPermissionSerializer
|
||||
else:
|
||||
return WritableAccessControlListPermissionSerializer
|
||||
|
||||
def get_serializer_context(self):
|
||||
return {
|
||||
'acl': self.get_acl(),
|
||||
'format': self.format_kwarg,
|
||||
'request': self.request,
|
||||
'view': self
|
||||
}
|
||||
|
||||
def post(self, *args, **kwargs):
|
||||
"""
|
||||
Add a new permission to the selected access control list.
|
||||
"""
|
||||
|
||||
return super(
|
||||
APIObjectACLPermissionListView, self
|
||||
).post(*args, **kwargs)
|
||||
|
||||
|
||||
class APIObjectACLPermissionView(generics.RetrieveDestroyAPIView):
|
||||
lookup_url_kwarg = 'permission_pk'
|
||||
serializer_class = AccessControlListPermissionSerializer
|
||||
|
||||
def delete(self, *args, **kwargs):
|
||||
"""
|
||||
Remove the permission from the selected access control list.
|
||||
"""
|
||||
|
||||
return super(
|
||||
APIObjectACLPermissionView, self
|
||||
).delete(*args, **kwargs)
|
||||
|
||||
def get(self, *args, **kwargs):
|
||||
"""
|
||||
Returns the details of the selected access control list permission.
|
||||
"""
|
||||
|
||||
return super(
|
||||
APIObjectACLPermissionView, self
|
||||
).get(*args, **kwargs)
|
||||
|
||||
def get_acl(self):
|
||||
return get_object_or_404(
|
||||
self.get_content_object().acls, pk=self.kwargs['pk']
|
||||
)
|
||||
|
||||
def get_content_object(self):
|
||||
content_type = get_object_or_404(
|
||||
ContentType, app_label=self.kwargs['app_label'],
|
||||
model=self.kwargs['model']
|
||||
)
|
||||
|
||||
content_object = get_object_or_404(
|
||||
content_type.model_class(), pk=self.kwargs['object_pk']
|
||||
)
|
||||
|
||||
try:
|
||||
Permission.check_permissions(
|
||||
self.request.user, permissions=(permission_acl_view,)
|
||||
)
|
||||
except PermissionDenied:
|
||||
AccessControlList.objects.check_access(
|
||||
permission_acl_view, self.request.user, content_object
|
||||
)
|
||||
|
||||
return content_object
|
||||
|
||||
def get_queryset(self):
|
||||
return self.get_acl().permissions.all()
|
||||
|
||||
def get_serializer_context(self):
|
||||
return {
|
||||
'acl': self.get_acl(),
|
||||
'format': self.format_kwarg,
|
||||
'request': self.request,
|
||||
'view': self
|
||||
}
|
||||
@@ -4,18 +4,21 @@ from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from common import MayanAppConfig, menu_object, menu_sidebar
|
||||
from navigation import SourceColumn
|
||||
from rest_api.classes import APIEndPoint
|
||||
|
||||
from .links import link_acl_create, link_acl_delete, link_acl_permissions
|
||||
|
||||
|
||||
class ACLsApp(MayanAppConfig):
|
||||
has_tests = True
|
||||
name = 'acls'
|
||||
test = True
|
||||
verbose_name = _('ACLs')
|
||||
|
||||
def ready(self):
|
||||
super(ACLsApp, self).ready()
|
||||
|
||||
APIEndPoint(app=self, version_string='1')
|
||||
|
||||
AccessControlList = self.get_model('AccessControlList')
|
||||
|
||||
SourceColumn(
|
||||
|
||||
@@ -14,10 +14,18 @@ class ModelPermission(object):
|
||||
|
||||
@classmethod
|
||||
def register(cls, model, permissions):
|
||||
from django.contrib.contenttypes.fields import GenericRelation
|
||||
|
||||
cls._registry.setdefault(model, [])
|
||||
for permission in permissions:
|
||||
cls._registry[model].append(permission)
|
||||
|
||||
AccessControlList = apps.get_model(
|
||||
app_label='acls', model_name='AccessControlList'
|
||||
)
|
||||
|
||||
model.add_to_class('acls', GenericRelation(AccessControlList))
|
||||
|
||||
@classmethod
|
||||
def get_for_instance(cls, instance):
|
||||
StoredPermission = apps.get_model(
|
||||
@@ -36,7 +44,9 @@ class ModelPermission(object):
|
||||
if proxy:
|
||||
permissions.extend(cls._registry.get(proxy))
|
||||
|
||||
pks = [permission.stored_permission.pk for permission in set(permissions)]
|
||||
pks = [
|
||||
permission.stored_permission.pk for permission in set(permissions)
|
||||
]
|
||||
return StoredPermission.objects.filter(pk__in=pks)
|
||||
|
||||
@classmethod
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,63 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/"
|
||||
"ar/)\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "الصلاحيات"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Insufficient access."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "لا شيء"
|
||||
|
||||
@@ -74,36 +73,65 @@ msgstr "Edit ACLs"
|
||||
msgid "View ACLs"
|
||||
msgstr "View ACLs"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +226,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +252,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,62 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/bg/)\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bg\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Разрешения"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Недостатъчен достъп."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "достъп вписване"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "достъп вписвания"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Няма"
|
||||
|
||||
@@ -74,36 +72,65 @@ msgstr "Редактиране на контролни списъци за до
|
||||
msgid "View ACLs"
|
||||
msgstr "Преглед на контролни списъци за достъп"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +225,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +251,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,63 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n"
|
||||
"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/"
|
||||
"rosarior/mayan-edms/language/bs_BA/)\n"
|
||||
"Language: bs_BA\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bs_BA\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Dozvole"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Nedovoljne dozvole."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Nijedno"
|
||||
|
||||
@@ -74,36 +73,65 @@ msgstr "Izmjeniti ACLs"
|
||||
msgid "View ACLs"
|
||||
msgstr "Pregledati ACLs"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +226,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +252,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,62 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/"
|
||||
"da/)\n"
|
||||
"Language: da\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: da\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Ingen"
|
||||
|
||||
@@ -74,36 +72,65 @@ msgstr ""
|
||||
msgid "View ACLs"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +225,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +251,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,66 +1,66 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Berny <berny@bernhard-marx.de>, 2015
|
||||
# Jesaja Everling <jeverling@gmail.com>, 2017
|
||||
# Tobias Paepke <tobias.paepke@paepke.net>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-31 18:56+0000\n"
|
||||
"Last-Translator: Tobias Paepke <tobias.paepke@paepke.net>\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-24 23:10+0000\n"
|
||||
"Last-Translator: Jesaja Everling <jeverling@gmail.com>\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-"
|
||||
"edms/language/de_DE/)\n"
|
||||
"Language: de_DE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de_DE\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "Zugriffsberechtigungen"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Berechtigungen"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr "Rolle"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr "Neue Berechtigung"
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Fehlende Berechtigung"
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "Berechtigungseintrag"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "Berechtigungseinträge"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr "Berechtigungen \"%(permissions)s\" zur Rolle \"%(role)s\" für \"%(object)s\""
|
||||
msgstr ""
|
||||
"Berechtigungen \"%(permissions)s\" zur Rolle \"%(role)s\" für \"%(object)s\""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Keine"
|
||||
|
||||
@@ -76,38 +76,72 @@ msgstr "Zugriffsberechtigungen bearbeiten"
|
||||
msgid "View ACLs"
|
||||
msgstr "Zugriffsberechtigungen anzeigen"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr "API URL für die Liste der Berechtigungen dieser ACL"
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
"API URL für die Berechtigung in Relation zur ACL zu der sie zugeordnet ist. "
|
||||
"Diese URL unterscheidet sich von der normalen Workflow URL."
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr "Primary key der zur ACL hinzuzufügenden Berechtigung."
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr "Keine solche Berechtigung: %s"
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
"Durch Komma getrennte Liste von Primary Keys der zu dieser ACL "
|
||||
"hinzuzufügenden Berechtigungen."
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr "Primary Key der Rolle die dieser ACL zugeordnet ist."
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "Neue Zugriffsberechtigung für %s"
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "ACL \"%s\" löschen"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "Zugriffsberechtigungen für %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr "Verfügbare Berechtigungen"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr "Erteilte Berechtigungen"
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr "Berechtigungen von Rolle \"%(role)s\" für \"%(object)s\""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr "Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererbt."
|
||||
msgstr ""
|
||||
"Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererbt."
|
||||
|
||||
#~ msgid "New holder"
|
||||
#~ msgstr "New holder"
|
||||
@@ -200,8 +234,10 @@ msgstr "Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererb
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -224,8 +260,5 @@ msgstr "Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererb
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2012-02-02 18:20+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/"
|
||||
@@ -18,52 +18,52 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
#, fuzzy
|
||||
msgid "Permissions"
|
||||
msgstr "permissions"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#: apps.py:29 models.py:46
|
||||
#, fuzzy
|
||||
#| msgid "Roles"
|
||||
msgid "Role"
|
||||
msgstr "Roles"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#: links.py:39
|
||||
#, fuzzy
|
||||
#| msgid "View ACLs"
|
||||
msgid "New ACL"
|
||||
msgstr "View ACLs"
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Insufficient access."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
#, fuzzy
|
||||
msgid "Access entry"
|
||||
msgstr "access entry"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
#, fuzzy
|
||||
msgid "Access entries"
|
||||
msgstr "access entries"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
@@ -79,38 +79,69 @@ msgstr "Edit ACLs"
|
||||
msgid "View ACLs"
|
||||
msgstr "View ACLs"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, fuzzy, python-format
|
||||
#| msgid "permission"
|
||||
msgid "No such permission: %s"
|
||||
msgstr "permission"
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, fuzzy, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "access control lists for: %s"
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "Default ACLs"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, fuzzy, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "access control lists for: %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
#, fuzzy
|
||||
msgid "Available permissions"
|
||||
msgstr "has permission"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
#, fuzzy
|
||||
msgid "Granted permissions"
|
||||
msgstr "has permission"
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -247,8 +278,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -6,13 +6,13 @@
|
||||
# Translators:
|
||||
# jmcainzos <jmcainzos@vodafone.es>, 2015
|
||||
# Roberto Rosario, 2015
|
||||
# Roberto Rosario, 2015-2016
|
||||
# Roberto Rosario, 2015-2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:38+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-05-28 19:52+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -21,47 +21,47 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "LCAs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Permisos"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#: apps.py:29 models.py:46
|
||||
#| msgid "Roles"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Borrar"
|
||||
|
||||
#: links.py:35
|
||||
#: links.py:39
|
||||
#| msgid "View ACLs"
|
||||
msgid "New ACL"
|
||||
msgstr "Nueva LCA"
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Acceso insuficiente."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "Entrada de acceso"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "Entradas de acceso"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr "Permisos \"%(permissions)s\" para el rol \"%(role)s\" para \"%(object)s\""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Ninguno"
|
||||
|
||||
@@ -77,36 +77,67 @@ msgstr "Editar LCAs"
|
||||
msgid "View ACLs"
|
||||
msgstr "Ver LCAs"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr "URL de la API que apunta a la lista de permisos para esta lista de control de acceso."
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr "URL de la API que apunta a un permiso en relación con la lista de control de acceso a la que está conectado. Esta URL es diferente de la URL canónica de flujo de trabajo."
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr "Llave primaria del nuevo permiso para conceder a la lista de control de acceso."
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
#| msgid "permission"
|
||||
msgid "No such permission: %s"
|
||||
msgstr "No existe el permiso: %s"
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr "Lista separada por comas de las llaves primarias de permisos para conceder a esta lista de control de acceso."
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr "Las llaves primarias de los roles a los que se vincula esta lista de control de acceso."
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "Nueva lista de control de acceso para: %s"
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "Borrar LCA: %s"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "Listas de control de acceso para: %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr "Permisos disponibles"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr "Permisos otorgados"
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr "Permisos del rol \"%(role)s\" para \"%(object)s\""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr "Los permisos inactivos se heredan de un objeto precedente."
|
||||
|
||||
@@ -225,8 +256,5 @@ msgstr "Los permisos inactivos se heredan de un objeto precedente."
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,62 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/fa/)\n"
|
||||
"Language: fa\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fa\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "مجوزها"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr "نقش"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "حذف"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "دسترسی ناکافی"
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "ورودی دسترسی"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "ورودیهای دسترسی"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "هیچکدام."
|
||||
|
||||
@@ -74,36 +72,65 @@ msgstr "ویرایش دسترسی ها"
|
||||
msgid "View ACLs"
|
||||
msgstr "دیدن دسترسی ها"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "لیست کنترل دسترسی ها برای : %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +225,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +251,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,65 +1,65 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Christophe CHAUVET <christophe.chauvet@gmail.com>, 2016
|
||||
# Christophe CHAUVET <christophe.chauvet@gmail.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n"
|
||||
"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/"
|
||||
"fr/)\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "Droits"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Permissions"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr "Rôle"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Suppression"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr "Nouveau droit"
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "droit d'accès insuffisant."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "Entrée d'accès"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "Entrées d'accès"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
"Permissions \"%(permissions)s\" du rôle \"%(role)s\" pour \"%(object)s\""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Aucun"
|
||||
|
||||
@@ -75,36 +75,65 @@ msgstr "Editer les droits"
|
||||
msgid "View ACLs"
|
||||
msgstr "voir les droits d'accès"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "Nouvelle liste de contrôle d'accès pour: %s"
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "Supprimer le droit: %s"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "Liste des contrôle d'accès pour: %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr "Permissions disponibles"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr "Permissions autorisées"
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr "Permission du rôle \"%(role)s\" pour \"%(object)s\"@"
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr "La désactivation de permission est hérité de l'objet parent"
|
||||
|
||||
@@ -199,8 +228,10 @@ msgstr "La désactivation de permission est hérité de l'objet parent"
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -223,8 +254,5 @@ msgstr "La désactivation de permission est hérité de l'objet parent"
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,62 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/hu/)\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACL-ek"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Semmi"
|
||||
|
||||
@@ -74,36 +72,65 @@ msgstr ""
|
||||
msgid "View ACLs"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +225,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +251,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,62 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n"
|
||||
"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/id/)\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: id\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr ""
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
@@ -74,36 +72,65 @@ msgstr ""
|
||||
msgid "View ACLs"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +225,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +251,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Marco Camplese <marco.camplese.mc@gmail.com>, 2016
|
||||
@@ -9,57 +9,55 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-30 21:18+0000\n"
|
||||
"Last-Translator: Marco Camplese <marco.camplese.mc@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/it/)\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Permessi"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr "Ruolo"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr "Nuova ACL"
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Accesso insufficiente."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "Voce di accesso"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "Voci di accesso"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr "Permessi \"%(permissions)s\" del ruolo \"%(role)s\" per \"%(object)s\""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Nessuna "
|
||||
|
||||
@@ -75,36 +73,65 @@ msgstr "Modifica ACL"
|
||||
msgid "View ACLs"
|
||||
msgstr "Visualizza ACL"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "Nuova lista di controllo accesso per: %s"
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "Cancella ACL: %s"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "Lista dei permessi d'accesso per: %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr "Autorizzazioni disponibili "
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr "Autorizzazioni concesse "
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr "Permessi del ruolo \"%(role)s\" per \"%(object)s\""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr "Il permesso disabilita è ereditato dall'oggetto padre"
|
||||
|
||||
@@ -199,8 +226,10 @@ msgstr "Il permesso disabilita è ereditato dall'oggetto padre"
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -223,8 +252,5 @@ msgstr "Il permesso disabilita è ereditato dall'oggetto padre"
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Evelijn Saaltink <evelijnsaaltink@gmail.com>, 2016
|
||||
@@ -10,57 +10,57 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 12:43+0000\n"
|
||||
"Last-Translator: Evelijn Saaltink <evelijnsaaltink@gmail.com>\n"
|
||||
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-"
|
||||
"edms/language/nl_NL/)\n"
|
||||
"Language: nl_NL\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl_NL\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "Authorisatielijsten"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Permissies"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr "Gebruikersrol"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Verwijder"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr "Nieuwe authorisatielijst"
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Permissie is ontoereikend"
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "Authorisatie invoer"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "Authorisaties invoer"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr "Permissies \"%(permissions)s\" voor gebruikersrol \"%(role)s\" voor \"%(object)s\""
|
||||
msgstr ""
|
||||
"Permissies \"%(permissions)s\" voor gebruikersrol \"%(role)s\" voor "
|
||||
"\"%(object)s\""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Geen"
|
||||
|
||||
@@ -76,36 +76,65 @@ msgstr "Bewerk authorisatielijsten"
|
||||
msgid "View ACLs"
|
||||
msgstr "Bekijk authorisatielijsten"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "Nieuwe authorisatielijsten voor: %s"
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "Verwijder authorisatielijst: %s"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "Authorisatielijsten voor: %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr "Beschikbare permissies"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr "Toegekende permissies"
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr "Rol \"%(role)s\" permissies voor \"%(object)s\""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr "Uitgeschakelde permissies zijn geërfd van een parent object."
|
||||
|
||||
@@ -200,8 +229,10 @@ msgstr "Uitgeschakelde permissies zijn geërfd van een parent object."
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -224,8 +255,5 @@ msgstr "Uitgeschakelde permissies zijn geërfd van een parent object."
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Wojtek Warczakowski <w.warczakowski@gmail.com>, 2016
|
||||
@@ -9,57 +9,57 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/"
|
||||
"pl/)\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pl\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
|
||||
"%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
|
||||
"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "Listy ACL"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Uprawnienia"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr "Rola"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Usuń"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr "Nowa lista ACL"
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Niewystarczający dostęp."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "Zgłoszenie dostępu"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "Zgłoszenia dostępu"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Brak"
|
||||
|
||||
@@ -75,36 +75,65 @@ msgstr "Edytuj listy ACL"
|
||||
msgid "View ACLs"
|
||||
msgstr "Przeglądaj listy ACL"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "Nowe listy ACL dla: %s"
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "Usuń listę ACL: %s"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "Listy ACL dla: %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr "Dostępne uprawnienia"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr "Przyznane uprawnienia"
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr "Uprawnienia roli \"%(role)s\" dla obiektu \"%(object)s\""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr "Domyślne uprawnienia są dziedziczone z obiektu nadrzędnego."
|
||||
|
||||
@@ -199,8 +228,10 @@ msgstr "Domyślne uprawnienia są dziedziczone z obiektu nadrzędnego."
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -223,8 +254,5 @@ msgstr "Domyślne uprawnienia są dziedziczone z obiektu nadrzędnego."
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,62 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/pt/)\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACL's"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Permissões"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Acesso insuficiente."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Nenhum"
|
||||
|
||||
@@ -74,36 +72,65 @@ msgstr "Editar ACL's"
|
||||
msgid "View ACLs"
|
||||
msgstr "Ver ACL's"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +225,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +251,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Aline Freitas <aline@alinefreitas.com.br>, 2016
|
||||
@@ -9,57 +9,56 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-11-17 22:31+0000\n"
|
||||
"Last-Translator: Aline Freitas <aline@alinefreitas.com.br>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-"
|
||||
"edms/language/pt_BR/)\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Permissões"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr "Regras"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Excluir"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr "Nova ACL"
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Acesso insuficiente."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "Acesso entrada"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "Entradas de acesso"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr "Permissões \"%(permissions)s\" do papel \"%(role)s\" para \"%(object)s\""
|
||||
msgstr ""
|
||||
"Permissões \"%(permissions)s\" do papel \"%(role)s\" para \"%(object)s\""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Nenhum"
|
||||
|
||||
@@ -75,36 +74,65 @@ msgstr "Editar ACLs"
|
||||
msgid "View ACLs"
|
||||
msgstr "Visualizar ACLs"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "Nova lista de controle de acesso para: %s"
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "Apagar ACL: %s"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "listas de controle de acesso para: %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr "Permissões disponíveis"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr "Permissões outorgadas"
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr "Permissões do papel \"%(role)s\" para \"%(object)s\""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr "As permissões inativas foram herdadas de um objeto precedente."
|
||||
|
||||
@@ -199,8 +227,10 @@ msgstr "As permissões inativas foram herdadas de um objeto precedente."
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -223,8 +253,5 @@ msgstr "As permissões inativas foram herdadas de um objeto precedente."
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,63 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n"
|
||||
"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-"
|
||||
"edms/language/ro_RO/)\n"
|
||||
"Language: ro_RO\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ro_RO\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
|
||||
"2:1));\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACL-uri"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Permisiuni"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Șterge"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Accesul insuficient."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Nici unul"
|
||||
|
||||
@@ -74,36 +73,65 @@ msgstr "Editați ACL-uri"
|
||||
msgid "View ACLs"
|
||||
msgstr "Vezi ACL-uri"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +226,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +252,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
# lilo.panic, 2016
|
||||
@@ -9,57 +9,57 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/ru/)\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
|
||||
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "СУДы"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Разрешения"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr "Роль"
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr "Создать СУД"
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Неполный доступ."
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "Элемент доступа"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "Элементы доступа"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Пусто"
|
||||
|
||||
@@ -75,36 +75,65 @@ msgstr "Редактировать СУДы"
|
||||
msgid "View ACLs"
|
||||
msgstr "Просмотр СУДов"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "Новый СУД для: %s"
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "Удалить СУД: %s"
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "СУДы для: %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr "Доступные разрешения"
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr "Предоставленные разрешения"
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr "Права роли \"%(role)s\" для \"%(object)s\""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr "Отключенные права наследуются от родительского объекта."
|
||||
|
||||
@@ -199,8 +228,10 @@ msgstr "Отключенные права наследуются от родит
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -223,8 +254,5 @@ msgstr "Отключенные права наследуются от родит
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,63 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-11-17 08:58+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n"
|
||||
"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-"
|
||||
"edms/language/sl_SI/)\n"
|
||||
"Language: sl_SI\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sl_SI\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "Pravice"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "Pravice"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "Nezadosten dostop"
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "Vstopna točka"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "Vstopne točke"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "Brez"
|
||||
|
||||
@@ -74,36 +73,65 @@ msgstr "Uredi dostopne pravice"
|
||||
msgid "View ACLs"
|
||||
msgstr "Preglej dostopne pravice"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "Dostopne pravice za %s"
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +226,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +252,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,62 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n"
|
||||
"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/"
|
||||
"mayan-edms/language/vi_VN/)\n"
|
||||
"Language: vi_VN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: vi_VN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "ACLs"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "None"
|
||||
|
||||
@@ -74,36 +72,65 @@ msgstr ""
|
||||
msgid "View ACLs"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +225,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +251,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
Binary file not shown.
@@ -1,64 +1,62 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:32+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n"
|
||||
"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/zh_CN/)\n"
|
||||
"Language: zh_CN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: apps.py:14 links.py:31
|
||||
#: apps.py:15 links.py:35
|
||||
msgid "ACLs"
|
||||
msgstr "访问控制列表"
|
||||
|
||||
#: apps.py:22 links.py:40 models.py:36
|
||||
#: apps.py:25 links.py:44 models.py:44
|
||||
msgid "Permissions"
|
||||
msgstr "权限"
|
||||
|
||||
#: apps.py:26 models.py:38
|
||||
#| msgid "Roles"
|
||||
#: apps.py:29 models.py:46
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:27
|
||||
#: links.py:31
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:35
|
||||
#| msgid "View ACLs"
|
||||
#: links.py:39
|
||||
msgid "New ACL"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:85
|
||||
#: managers.py:109
|
||||
msgid "Insufficient access."
|
||||
msgstr "权限不足"
|
||||
|
||||
#: models.py:44
|
||||
#: models.py:52
|
||||
msgid "Access entry"
|
||||
msgstr "访问入口"
|
||||
|
||||
#: models.py:45
|
||||
#: models.py:53
|
||||
msgid "Access entries"
|
||||
msgstr "多个访问入口"
|
||||
|
||||
#: models.py:48
|
||||
#: models.py:57
|
||||
#, python-format
|
||||
#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s."
|
||||
msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: models.py:64
|
||||
#: models.py:74
|
||||
msgid "None"
|
||||
msgstr "无"
|
||||
|
||||
@@ -74,36 +72,65 @@ msgstr "编辑访问控制列表"
|
||||
msgid "View ACLs"
|
||||
msgstr "查看访问控制列表"
|
||||
|
||||
#: views.py:78
|
||||
#: serializers.py:24 serializers.py:132
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:57
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:87
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:111 serializers.py:187
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:126
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr ""
|
||||
|
||||
#: serializers.py:138
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:73
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:109
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
#| msgid "Default ACLs"
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:151
|
||||
#: views.py:138
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:162
|
||||
#: views.py:150
|
||||
msgid "Available permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:163
|
||||
#: views.py:151
|
||||
msgid "Granted permissions"
|
||||
msgstr ""
|
||||
|
||||
#: views.py:222
|
||||
#: views.py:206
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr ""
|
||||
|
||||
#: views.py:242
|
||||
#: views.py:226
|
||||
msgid "Disabled permissions are inherited from a parent object."
|
||||
msgstr ""
|
||||
|
||||
@@ -198,8 +225,10 @@ msgstr ""
|
||||
#~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
#~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
|
||||
|
||||
#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgid ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
#~ msgstr ""
|
||||
#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
|
||||
|
||||
#~ msgid "Add new holder for: %s"
|
||||
#~ msgstr "add new holder for: %s"
|
||||
@@ -222,8 +251,5 @@ msgstr ""
|
||||
#~ msgid "List of classes"
|
||||
#~ msgstr "List of classes"
|
||||
|
||||
#~ msgid "permission"
|
||||
#~ msgstr "permission"
|
||||
|
||||
#~ msgid "creator"
|
||||
#~ msgstr "creator"
|
||||
|
||||
@@ -49,6 +49,10 @@ class AccessControlListManager(models.Manager):
|
||||
|
||||
def check_access(self, permissions, user, obj, related=None):
|
||||
if user.is_superuser or user.is_staff:
|
||||
logger.debug(
|
||||
'Permissions "%s" on "%s" granted to user "%s" as superuser or staff',
|
||||
permissions, obj, user
|
||||
)
|
||||
return True
|
||||
|
||||
try:
|
||||
@@ -89,15 +93,30 @@ class AccessControlListManager(models.Manager):
|
||||
for group in user.groups.all():
|
||||
for role in group.roles.all():
|
||||
if set(stored_permissions).intersection(set(self.get_inherited_permissions(role=role, obj=obj))):
|
||||
logger.debug(
|
||||
'Permissions "%s" on "%s" granted to user "%s" through role "%s" via inherited ACL',
|
||||
permissions, obj, user, role
|
||||
)
|
||||
return True
|
||||
|
||||
user_roles.append(role)
|
||||
|
||||
if not self.filter(content_type=ContentType.objects.get_for_model(obj), object_id=obj.pk, permissions__in=stored_permissions, role__in=user_roles).exists():
|
||||
logger.debug(
|
||||
'Permissions "%s" on "%s" denied for user "%s"',
|
||||
permissions, obj, user
|
||||
)
|
||||
raise PermissionDenied(ugettext('Insufficient access.'))
|
||||
|
||||
logger.debug(
|
||||
'Permissions "%s" on "%s" granted to user "%s" through roles "%s" by direct ACL',
|
||||
permissions, obj, user, user_roles
|
||||
)
|
||||
|
||||
def filter_by_access(self, permission, user, queryset):
|
||||
if user.is_superuser or user.is_staff:
|
||||
logger.debug('Unfiltered queryset returned to user "%s" as superuser or staff',
|
||||
user)
|
||||
return queryset
|
||||
|
||||
try:
|
||||
@@ -145,6 +164,10 @@ class AccessControlListManager(models.Manager):
|
||||
content_type=content_type, role__in=user_roles,
|
||||
permissions=permission.stored_permission
|
||||
).values_list('object_id', flat=True))
|
||||
logger.debug(
|
||||
'Filtered queryset returned to user "%s" based on roles "%s"',
|
||||
user, user_roles
|
||||
)
|
||||
|
||||
return queryset.filter(parent_acl_query | acl_query)
|
||||
else:
|
||||
|
||||
@@ -18,9 +18,17 @@ logger = logging.getLogger(__name__)
|
||||
@python_2_unicode_compatible
|
||||
class AccessControlList(models.Model):
|
||||
"""
|
||||
Model that hold the permission, object, actor relationship
|
||||
ACL means Access Control List it is a more fine-grained method of
|
||||
granting access to objects. In the case of ACLs, they grant access using
|
||||
3 elements: actor, permission, object. In this case the actor is the role,
|
||||
the permission is the Mayan permission and the object can be anything:
|
||||
a document, a folder, an index, etc. This means = "Grant X permissions
|
||||
to role Y for object Z". This model holds the permission, object, actor
|
||||
relationship for one access control list.
|
||||
Fields:
|
||||
* Role - Custom role that is being granted a permission. Roles are created
|
||||
in the Setup menu.
|
||||
"""
|
||||
|
||||
content_type = models.ForeignKey(
|
||||
ContentType,
|
||||
related_name='object_content_type'
|
||||
@@ -45,7 +53,9 @@ class AccessControlList(models.Model):
|
||||
verbose_name_plural = _('Access entries')
|
||||
|
||||
def __str__(self):
|
||||
return _('Permissions "%(permissions)s" to role "%(role)s" for "%(object)s"') % {
|
||||
return _(
|
||||
'Permissions "%(permissions)s" to role "%(role)s" for "%(object)s"'
|
||||
) % {
|
||||
'permissions': self.get_permission_titles(),
|
||||
'object': self.content_object,
|
||||
'role': self.role
|
||||
|
||||
204
mayan/apps/acls/serializers.py
Normal file
204
mayan/apps/acls/serializers.py
Normal file
@@ -0,0 +1,204 @@
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.exceptions import ValidationError as DjangoValidationError
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from rest_framework import serializers
|
||||
from rest_framework.exceptions import ValidationError
|
||||
from rest_framework.reverse import reverse
|
||||
|
||||
from common.serializers import ContentTypeSerializer
|
||||
from permissions import Permission
|
||||
from permissions.models import Role, StoredPermission
|
||||
from permissions.serializers import PermissionSerializer, RoleSerializer
|
||||
|
||||
from .models import AccessControlList
|
||||
|
||||
|
||||
class AccessControlListSerializer(serializers.ModelSerializer):
|
||||
content_type = ContentTypeSerializer(read_only=True)
|
||||
permissions_url = serializers.SerializerMethodField(
|
||||
help_text=_(
|
||||
'API URL pointing to the list of permissions for this access '
|
||||
'control list.'
|
||||
)
|
||||
)
|
||||
role = RoleSerializer(read_only=True)
|
||||
url = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
fields = (
|
||||
'content_type', 'id', 'object_id', 'permissions_url', 'role', 'url'
|
||||
)
|
||||
model = AccessControlList
|
||||
|
||||
def get_permissions_url(self, instance):
|
||||
return reverse(
|
||||
'rest_api:accesscontrollist-permission-list', args=(
|
||||
instance.content_type.app_label, instance.content_type.model,
|
||||
instance.object_id, instance.pk
|
||||
), request=self.context['request'], format=self.context['format']
|
||||
)
|
||||
|
||||
def get_url(self, instance):
|
||||
return reverse(
|
||||
'rest_api:accesscontrollist-detail', args=(
|
||||
instance.content_type.app_label, instance.content_type.model,
|
||||
instance.object_id, instance.pk
|
||||
), request=self.context['request'], format=self.context['format']
|
||||
)
|
||||
|
||||
|
||||
class AccessControlListPermissionSerializer(PermissionSerializer):
|
||||
acl_permission_url = serializers.SerializerMethodField(
|
||||
help_text=_(
|
||||
'API URL pointing to a permission in relation to the '
|
||||
'access control list to which it is attached. This URL is '
|
||||
'different than the canonical workflow URL.'
|
||||
)
|
||||
)
|
||||
acl_url = serializers.SerializerMethodField()
|
||||
|
||||
def get_acl_permission_url(self, instance):
|
||||
return reverse(
|
||||
'rest_api:accesscontrollist-permission-detail', args=(
|
||||
self.context['acl'].content_type.app_label,
|
||||
self.context['acl'].content_type.model,
|
||||
self.context['acl'].object_id, self.context['acl'].pk,
|
||||
instance.stored_permission.pk
|
||||
), request=self.context['request'], format=self.context['format']
|
||||
)
|
||||
|
||||
def get_acl_url(self, instance):
|
||||
return reverse(
|
||||
'rest_api:accesscontrollist-detail', args=(
|
||||
self.context['acl'].content_type.app_label,
|
||||
self.context['acl'].content_type.model,
|
||||
self.context['acl'].object_id, self.context['acl'].pk
|
||||
), request=self.context['request'], format=self.context['format']
|
||||
)
|
||||
|
||||
|
||||
class WritableAccessControlListPermissionSerializer(AccessControlListPermissionSerializer):
|
||||
permission_pk = serializers.CharField(
|
||||
help_text=_(
|
||||
'Primary key of the new permission to grant to the access control '
|
||||
'list.'
|
||||
), write_only=True
|
||||
)
|
||||
|
||||
class Meta:
|
||||
fields = ('namespace',)
|
||||
read_only_fields = ('namespace',)
|
||||
|
||||
def create(self, validated_data):
|
||||
for permission in validated_data['permissions']:
|
||||
self.context['acl'].permissions.add(permission)
|
||||
|
||||
return validated_data['permissions'][0]
|
||||
|
||||
def validate(self, attrs):
|
||||
permissions_pk_list = attrs.pop('permission_pk', None)
|
||||
permissions_result = []
|
||||
|
||||
if permissions_pk_list:
|
||||
for pk in permissions_pk_list.split(','):
|
||||
try:
|
||||
permission = Permission.get(pk=pk)
|
||||
except KeyError:
|
||||
raise ValidationError(_('No such permission: %s') % pk)
|
||||
else:
|
||||
# Accumulate valid stored permission pks
|
||||
permissions_result.append(permission.pk)
|
||||
|
||||
attrs['permissions'] = StoredPermission.objects.filter(
|
||||
pk__in=permissions_result
|
||||
)
|
||||
return attrs
|
||||
|
||||
|
||||
class WritableAccessControlListSerializer(serializers.ModelSerializer):
|
||||
content_type = ContentTypeSerializer(read_only=True)
|
||||
permissions_pk_list = serializers.CharField(
|
||||
help_text=_(
|
||||
'Comma separated list of permission primary keys to grant to this '
|
||||
'access control list.'
|
||||
), required=False
|
||||
)
|
||||
permissions_url = serializers.SerializerMethodField(
|
||||
help_text=_(
|
||||
'API URL pointing to the list of permissions for this access '
|
||||
'control list.'
|
||||
), read_only=True
|
||||
)
|
||||
role_pk = serializers.IntegerField(
|
||||
help_text=_(
|
||||
'Primary keys of the role to which this access control list '
|
||||
'binds to.'
|
||||
), write_only=True
|
||||
)
|
||||
url = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
fields = (
|
||||
'content_type', 'id', 'object_id', 'permissions_pk_list',
|
||||
'permissions_url', 'role_pk', 'url'
|
||||
)
|
||||
model = AccessControlList
|
||||
read_only_fields = ('content_type', 'object_id')
|
||||
|
||||
def get_permissions_url(self, instance):
|
||||
return reverse(
|
||||
'rest_api:accesscontrollist-permission-list', args=(
|
||||
instance.content_type.app_label, instance.content_type.model,
|
||||
instance.object_id, instance.pk
|
||||
), request=self.context['request'], format=self.context['format']
|
||||
)
|
||||
|
||||
def get_url(self, instance):
|
||||
return reverse(
|
||||
'rest_api:accesscontrollist-detail', args=(
|
||||
instance.content_type.app_label, instance.content_type.model,
|
||||
instance.object_id, instance.pk
|
||||
), request=self.context['request'], format=self.context['format']
|
||||
)
|
||||
|
||||
def validate(self, attrs):
|
||||
attrs['content_type'] = ContentType.objects.get_for_model(
|
||||
self.context['content_object']
|
||||
)
|
||||
attrs['object_id'] = self.context['content_object'].pk
|
||||
|
||||
try:
|
||||
attrs['role'] = Role.objects.get(pk=attrs.pop('role_pk'))
|
||||
except Role.DoesNotExist as exception:
|
||||
raise ValidationError(force_text(exception))
|
||||
|
||||
permissions_pk_list = attrs.pop('permissions_pk_list', None)
|
||||
permissions_result = []
|
||||
|
||||
if permissions_pk_list:
|
||||
for pk in permissions_pk_list.split(','):
|
||||
try:
|
||||
permission = Permission.get(pk=pk)
|
||||
except KeyError:
|
||||
raise ValidationError(_('No such permission: %s') % pk)
|
||||
else:
|
||||
# Accumulate valid stored permission pks
|
||||
permissions_result.append(permission.pk)
|
||||
|
||||
instance = AccessControlList(**attrs)
|
||||
|
||||
try:
|
||||
instance.full_clean()
|
||||
except DjangoValidationError as exception:
|
||||
raise ValidationError(exception)
|
||||
|
||||
# Add a queryset of valid stored permissions so that they get added
|
||||
# after the ACL gets created.
|
||||
attrs['permissions'] = StoredPermission.objects.filter(
|
||||
pk__in=permissions_result
|
||||
)
|
||||
return attrs
|
||||
254
mayan/apps/acls/tests/test_api.py
Normal file
254
mayan/apps/acls/tests/test_api.py
Normal file
@@ -0,0 +1,254 @@
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test import override_settings
|
||||
|
||||
from rest_framework.test import APITestCase
|
||||
|
||||
from documents.models import DocumentType
|
||||
from documents.permissions import permission_document_view
|
||||
from documents.tests.literals import (
|
||||
TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH
|
||||
)
|
||||
from permissions.classes import Permission
|
||||
from permissions.models import Role
|
||||
from permissions.tests.literals import TEST_ROLE_LABEL
|
||||
from user_management.tests.literals import (
|
||||
TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME
|
||||
)
|
||||
|
||||
from ..models import AccessControlList
|
||||
from ..permissions import permission_acl_view
|
||||
|
||||
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class ACLAPITestCase(APITestCase):
|
||||
def setUp(self):
|
||||
self.admin_user = get_user_model().objects.create_superuser(
|
||||
username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL,
|
||||
password=TEST_ADMIN_PASSWORD
|
||||
)
|
||||
|
||||
self.client.login(
|
||||
username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD
|
||||
)
|
||||
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
|
||||
with open(TEST_SMALL_DOCUMENT_PATH) as file_object:
|
||||
self.document = self.document_type.new_document(
|
||||
file_object=file_object
|
||||
)
|
||||
|
||||
self.role = Role.objects.create(label=TEST_ROLE_LABEL)
|
||||
|
||||
self.document_content_type = ContentType.objects.get_for_model(
|
||||
self.document
|
||||
)
|
||||
Permission.invalidate_cache()
|
||||
|
||||
def tearDown(self):
|
||||
if hasattr(self, 'document_type'):
|
||||
self.document_type.delete()
|
||||
|
||||
def _create_acl(self):
|
||||
self.acl = AccessControlList.objects.create(
|
||||
content_object=self.document,
|
||||
role=self.role
|
||||
)
|
||||
|
||||
self.acl.permissions.add(permission_document_view.stored_permission)
|
||||
|
||||
def test_object_acl_list_view(self):
|
||||
self._create_acl()
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
'rest_api:accesscontrollist-list',
|
||||
args=(
|
||||
self.document_content_type.app_label,
|
||||
self.document_content_type.model,
|
||||
self.document.pk
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
response.data['results'][0]['content_type']['app_label'],
|
||||
self.document_content_type.app_label
|
||||
)
|
||||
self.assertEqual(
|
||||
response.data['results'][0]['role']['label'], TEST_ROLE_LABEL
|
||||
)
|
||||
|
||||
def test_object_acl_delete_view(self):
|
||||
self._create_acl()
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
'rest_api:accesscontrollist-detail',
|
||||
args=(
|
||||
self.document_content_type.app_label,
|
||||
self.document_content_type.model,
|
||||
self.document.pk, self.acl.pk
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 204)
|
||||
self.assertEqual(AccessControlList.objects.count(), 0)
|
||||
|
||||
def test_object_acl_detail_view(self):
|
||||
self._create_acl()
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
'rest_api:accesscontrollist-detail',
|
||||
args=(
|
||||
self.document_content_type.app_label,
|
||||
self.document_content_type.model,
|
||||
self.document.pk, self.acl.pk
|
||||
)
|
||||
)
|
||||
)
|
||||
self.assertEqual(
|
||||
response.data['content_type']['app_label'],
|
||||
self.document_content_type.app_label
|
||||
)
|
||||
self.assertEqual(
|
||||
response.data['role']['label'], TEST_ROLE_LABEL
|
||||
)
|
||||
|
||||
def test_object_acl_permission_delete_view(self):
|
||||
self._create_acl()
|
||||
permission = self.acl.permissions.first()
|
||||
|
||||
response = self.client.delete(
|
||||
reverse(
|
||||
'rest_api:accesscontrollist-permission-detail',
|
||||
args=(
|
||||
self.document_content_type.app_label,
|
||||
self.document_content_type.model,
|
||||
self.document.pk, self.acl.pk,
|
||||
permission.pk
|
||||
)
|
||||
)
|
||||
)
|
||||
self.assertEqual(response.status_code, 204)
|
||||
self.assertEqual(self.acl.permissions.count(), 0)
|
||||
|
||||
def test_object_acl_permission_detail_view(self):
|
||||
self._create_acl()
|
||||
permission = self.acl.permissions.first()
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
'rest_api:accesscontrollist-permission-detail',
|
||||
args=(
|
||||
self.document_content_type.app_label,
|
||||
self.document_content_type.model,
|
||||
self.document.pk, self.acl.pk,
|
||||
permission.pk
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
response.data['pk'], permission_document_view.pk
|
||||
)
|
||||
|
||||
def test_object_acl_permission_list_view(self):
|
||||
self._create_acl()
|
||||
|
||||
response = self.client.get(
|
||||
reverse(
|
||||
'rest_api:accesscontrollist-permission-list',
|
||||
args=(
|
||||
self.document_content_type.app_label,
|
||||
self.document_content_type.model,
|
||||
self.document.pk, self.acl.pk
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
response.data['results'][0]['pk'],
|
||||
permission_document_view.pk
|
||||
)
|
||||
|
||||
def test_object_acl_permission_list_post_view(self):
|
||||
self._create_acl()
|
||||
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
'rest_api:accesscontrollist-permission-list',
|
||||
args=(
|
||||
self.document_content_type.app_label,
|
||||
self.document_content_type.model,
|
||||
self.document.pk, self.acl.pk
|
||||
)
|
||||
), data={'permission_pk': permission_acl_view.pk}
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 201)
|
||||
self.assertQuerysetEqual(
|
||||
ordered=False, qs=self.acl.permissions.all(), values=(
|
||||
repr(permission_document_view.stored_permission),
|
||||
repr(permission_acl_view.stored_permission)
|
||||
)
|
||||
)
|
||||
|
||||
def test_object_acl_post_no_permissions_added_view(self):
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
'rest_api:accesscontrollist-list',
|
||||
args=(
|
||||
self.document_content_type.app_label,
|
||||
self.document_content_type.model,
|
||||
self.document.pk
|
||||
)
|
||||
), data={'role_pk': self.role.pk}
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 201)
|
||||
self.assertEqual(
|
||||
self.document.acls.first().role, self.role
|
||||
)
|
||||
self.assertEqual(
|
||||
self.document.acls.first().content_object, self.document
|
||||
)
|
||||
self.assertEqual(
|
||||
self.document.acls.first().permissions.count(), 0
|
||||
)
|
||||
|
||||
def test_object_acl_post_with_permissions_added_view(self):
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
'rest_api:accesscontrollist-list',
|
||||
args=(
|
||||
self.document_content_type.app_label,
|
||||
self.document_content_type.model,
|
||||
self.document.pk
|
||||
)
|
||||
), data={
|
||||
'role_pk': self.role.pk,
|
||||
'permissions_pk_list': permission_acl_view.pk
|
||||
|
||||
}
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 201)
|
||||
self.assertEqual(
|
||||
self.document.acls.first().content_object, self.document
|
||||
)
|
||||
self.assertEqual(
|
||||
self.document.acls.first().role, self.role
|
||||
)
|
||||
self.assertEqual(
|
||||
self.document.acls.first().permissions.first(),
|
||||
permission_acl_view.stored_permission
|
||||
)
|
||||
@@ -2,6 +2,10 @@ from __future__ import unicode_literals
|
||||
|
||||
from django.conf.urls import url
|
||||
|
||||
from .api_views import (
|
||||
APIObjectACLListView, APIObjectACLPermissionListView,
|
||||
APIObjectACLPermissionView, APIObjectACLView
|
||||
)
|
||||
from .views import (
|
||||
ACLCreateView, ACLDeleteView, ACLListView, ACLPermissionsView
|
||||
)
|
||||
@@ -21,3 +25,22 @@ urlpatterns = [
|
||||
name='acl_permissions'
|
||||
),
|
||||
]
|
||||
|
||||
api_urls = [
|
||||
url(
|
||||
r'^object/(?P<app_label>[-\w]+)/(?P<model>[-\w]+)/(?P<object_pk>\d+)/acls/$',
|
||||
APIObjectACLListView.as_view(), name='accesscontrollist-list'
|
||||
),
|
||||
url(
|
||||
r'^object/(?P<app_label>[-\w]+)/(?P<model>[-\w]+)/(?P<object_pk>\d+)/acls/(?P<pk>\d+)/$',
|
||||
APIObjectACLView.as_view(), name='accesscontrollist-detail'
|
||||
),
|
||||
url(
|
||||
r'^object/(?P<app_label>[-\w]+)/(?P<model>[-\w]+)/(?P<object_pk>\d+)/acls/(?P<pk>\d+)/permissions/$',
|
||||
APIObjectACLPermissionListView.as_view(), name='accesscontrollist-permission-list'
|
||||
),
|
||||
url(
|
||||
r'^object/(?P<app_label>[-\w]+)/(?P<model>[-\w]+)/(?P<object_pk>\d+)/acls/(?P<pk>\d+)/permissions/(?P<permission_pk>\d+)/$',
|
||||
APIObjectACLPermissionView.as_view(), name='accesscontrollist-permission-detail'
|
||||
),
|
||||
]
|
||||
|
||||
@@ -140,7 +140,8 @@ class ACLListView(SingleObjectListView):
|
||||
|
||||
def get_queryset(self):
|
||||
return AccessControlList.objects.filter(
|
||||
content_type=self.object_content_type, object_id=self.content_object.pk
|
||||
content_type=self.object_content_type,
|
||||
object_id=self.content_object.pk
|
||||
)
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,27 +1,29 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-03-21 21:06+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/"
|
||||
"ar/)\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr "صلاحيات غير كافية"
|
||||
|
||||
@@ -29,7 +31,7 @@ msgstr "صلاحيات غير كافية"
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr "ليس لديك صلاحيات كافية لهذه العملية."
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr "لم يتم العثور على الصفحة"
|
||||
|
||||
@@ -37,14 +39,14 @@ msgstr "لم يتم العثور على الصفحة"
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr "عفواً، لا يمكن العثور على الصفحة المطلوبة."
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:11
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via "
|
||||
"e-mail and should be fixed shortly. Thanks for your patience."
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:14
|
||||
@@ -53,7 +55,7 @@ msgid ""
|
||||
"identifier:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
@@ -66,47 +68,47 @@ msgstr "الاصدار"
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr "مجهول"
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "تفاصيل المستخدم"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr "الإجراءات"
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,6 +126,10 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr "انشاء"
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -138,39 +144,39 @@ msgstr "تأكيد حذف"
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr "نعم"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr "لا"
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr "مطلوب"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr "حفظ"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr "ارسال"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr "إلغاء"
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr ""
|
||||
|
||||
@@ -187,34 +193,38 @@ msgstr ""
|
||||
msgid "Total: %(total)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr "معرف"
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr "البحث"
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
@@ -227,7 +237,9 @@ msgstr "First time login"
|
||||
msgid ""
|
||||
"You have just finished installing <strong>Mayan EDMS</strong>, "
|
||||
"congratulations!"
|
||||
msgstr "You have just finished installing <strong>Mayan EDMS</strong>, congratulations!"
|
||||
msgstr ""
|
||||
"You have just finished installing <strong>Mayan EDMS</strong>, "
|
||||
"congratulations!"
|
||||
|
||||
#: templates/appearance/login.html:25
|
||||
msgid "Login using the following credentials:"
|
||||
@@ -252,9 +264,11 @@ msgstr "Password: <strong>%(password)s</strong>"
|
||||
msgid ""
|
||||
"Be sure to change the password to increase security and to disable this "
|
||||
"message."
|
||||
msgstr "Be sure to change the password to increase security and to disable this message."
|
||||
msgstr ""
|
||||
"Be sure to change the password to increase security and to disable this "
|
||||
"message."
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,27 +1,28 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-03-21 21:06+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/bg/)\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bg\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr ""
|
||||
|
||||
@@ -29,7 +30,7 @@ msgstr ""
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr ""
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr "Страницата не е намерена"
|
||||
|
||||
@@ -37,14 +38,14 @@ msgstr "Страницата не е намерена"
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:11
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via "
|
||||
"e-mail and should be fixed shortly. Thanks for your patience."
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:14
|
||||
@@ -53,7 +54,7 @@ msgid ""
|
||||
"identifier:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
@@ -66,47 +67,47 @@ msgstr "Версия"
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr "Анонимен"
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "Данни за потребител"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr "Действия"
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,6 +125,10 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr "Създаване"
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -138,39 +143,39 @@ msgstr "Потвърдете изтриване"
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr "Не"
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr "Запазване"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr "Подаване"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr "Отказ"
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr ""
|
||||
|
||||
@@ -187,34 +192,38 @@ msgstr ""
|
||||
msgid "Total: %(total)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr "Идентификатор"
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr "Търсене"
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr "Влез"
|
||||
@@ -227,7 +236,8 @@ msgstr "Логване за първи път"
|
||||
msgid ""
|
||||
"You have just finished installing <strong>Mayan EDMS</strong>, "
|
||||
"congratulations!"
|
||||
msgstr "Вие приключихте инсталирането на <strong>Mayan EDMS</strong>, поздравления!"
|
||||
msgstr ""
|
||||
"Вие приключихте инсталирането на <strong>Mayan EDMS</strong>, поздравления!"
|
||||
|
||||
#: templates/appearance/login.html:25
|
||||
msgid "Login using the following credentials:"
|
||||
@@ -252,9 +262,11 @@ msgstr "Парола: <strong>%(password)s</strong>"
|
||||
msgid ""
|
||||
"Be sure to change the password to increase security and to disable this "
|
||||
"message."
|
||||
msgstr "Моля променете паролата, за да повишите нивото на сигурност и да деактивирате това съобщение."
|
||||
msgstr ""
|
||||
"Моля променете паролата, за да повишите нивото на сигурност и да "
|
||||
"деактивирате това съобщение."
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,27 +1,29 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-03-21 21:06+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n"
|
||||
"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/"
|
||||
"rosarior/mayan-edms/language/bs_BA/)\n"
|
||||
"Language: bs_BA\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bs_BA\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr "Nedovoljno dozvola"
|
||||
|
||||
@@ -29,7 +31,7 @@ msgstr "Nedovoljno dozvola"
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr "Nemate odgovarajuca prava za ovu operaciju."
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr "Stranica nije pronađena"
|
||||
|
||||
@@ -37,14 +39,14 @@ msgstr "Stranica nije pronađena"
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr "Žao nam je, ali tražena stranica ne može biti pronađena."
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:11
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via "
|
||||
"e-mail and should be fixed shortly. Thanks for your patience."
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:14
|
||||
@@ -53,7 +55,7 @@ msgid ""
|
||||
"identifier:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
@@ -66,47 +68,47 @@ msgstr "Verzija"
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr "Anonimni"
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "Detalji o korisniku"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr "Akcije"
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,6 +126,10 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr "Kreirati"
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -138,39 +144,39 @@ msgstr "Potvrditi brisanje"
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr "Da"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr "Ne"
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr "potrebno"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr "Sačuvati"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr "Podnijeti"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr "Otkazati"
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr ""
|
||||
|
||||
@@ -187,34 +193,38 @@ msgstr ""
|
||||
msgid "Total: %(total)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr "Identifikator"
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr "Pretraga"
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr "Prijava"
|
||||
@@ -227,7 +237,8 @@ msgstr "Prijava - prvi put"
|
||||
msgid ""
|
||||
"You have just finished installing <strong>Mayan EDMS</strong>, "
|
||||
"congratulations!"
|
||||
msgstr "Upravo ste završili instalaciju <strong>Mayan EDMS</strong>, čestitamo!"
|
||||
msgstr ""
|
||||
"Upravo ste završili instalaciju <strong>Mayan EDMS</strong>, čestitamo!"
|
||||
|
||||
#: templates/appearance/login.html:25
|
||||
msgid "Login using the following credentials:"
|
||||
@@ -252,9 +263,11 @@ msgstr "Pasvord: <strong>%(password)s</strong>"
|
||||
msgid ""
|
||||
"Be sure to change the password to increase security and to disable this "
|
||||
"message."
|
||||
msgstr "Ne zaboravite promijeniti pasvord da pojačate sigurnost i onemogućite dalje prikazivanje ove poruke."
|
||||
msgstr ""
|
||||
"Ne zaboravite promijeniti pasvord da pojačate sigurnost i onemogućite dalje "
|
||||
"prikazivanje ove poruke."
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,27 +1,28 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-03-21 21:06+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:48-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/"
|
||||
"da/)\n"
|
||||
"Language: da\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: da\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr ""
|
||||
|
||||
@@ -29,7 +30,7 @@ msgstr ""
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr ""
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -37,14 +38,14 @@ msgstr ""
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:11
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via "
|
||||
"e-mail and should be fixed shortly. Thanks for your patience."
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:14
|
||||
@@ -53,7 +54,7 @@ msgid ""
|
||||
"identifier:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
@@ -66,47 +67,47 @@ msgstr "Version"
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr "Anonym"
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "Bruger detaljer"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr "Handlinger"
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,6 +125,10 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -138,39 +143,39 @@ msgstr ""
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr ""
|
||||
|
||||
@@ -187,34 +192,38 @@ msgstr ""
|
||||
msgid "Total: %(total)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr "Log ind"
|
||||
@@ -254,7 +263,7 @@ msgid ""
|
||||
"message."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,28 +1,30 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Berny <berny@bernhard-marx.de>, 2015
|
||||
# Jesaja Everling <jeverling@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-03-21 21:06+0000\n"
|
||||
"Last-Translator: Mathias Behrle <mathiasb@m9s.biz>\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:49-0400\n"
|
||||
"PO-Revision-Date: 2017-04-24 22:57+0000\n"
|
||||
"Last-Translator: Jesaja Everling <jeverling@gmail.com>\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-"
|
||||
"edms/language/de_DE/)\n"
|
||||
"Language: de_DE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de_DE\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr "Erscheinungsbild"
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr "Unzureichende Berechtigungen"
|
||||
|
||||
@@ -30,7 +32,7 @@ msgstr "Unzureichende Berechtigungen"
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr "Sie haben unzureichende Berechtigungen für diesen Vorgang."
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr "Seite nicht gefunden"
|
||||
|
||||
@@ -38,23 +40,27 @@ msgstr "Seite nicht gefunden"
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr "Die angeforderte Seite konnte leider nicht gefunden werden"
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr "Serverfehler"
|
||||
|
||||
#: templates/500.html:11
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via "
|
||||
"e-mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr "Es kam zu einem Fehler. Der Fehler wurde per E-Mail and die Administratoren gemeldet und sollte bald behoben werden. Vielen Dank für Ihre Geduld."
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
"Es kam zu einem Fehler. Der Fehler wurde per E-Mail and die Administratoren "
|
||||
"gemeldet und sollte bald behoben werden. Vielen Dank für Ihre Geduld."
|
||||
|
||||
#: templates/500.html:14
|
||||
msgid ""
|
||||
"If you need assistance, you may reference this error via the following "
|
||||
"identifier:"
|
||||
msgstr "Wenn Sie Hilfe brauchen, können Sie den Fehler über folgende Kennung referenzieren: "
|
||||
msgstr ""
|
||||
"Wenn Sie Hilfe brauchen, können Sie den Fehler über folgende Kennung "
|
||||
"referenzieren: "
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr "Über"
|
||||
|
||||
@@ -67,47 +73,47 @@ msgstr "Version"
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr "Build Nummer: %(build_number)s"
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr "Veröffentlicht unter der Apache 2.0 Lizenz"
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr "Copyright © 2011-2015 Roberto Rosario."
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Navigation ein-/ausschalten"
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr "Anonymer Benutzer"
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "Benutzerdetails"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr "Erfolg"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr "Information"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr "Warnung"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr "Aktionen"
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr "Ausklappmenü ein-/ausschalten"
|
||||
|
||||
@@ -125,6 +131,10 @@ msgstr "%(object)s bearbeiten"
|
||||
msgid "Create"
|
||||
msgstr "Erstellen"
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -139,39 +149,39 @@ msgstr "Löschen bestätigen"
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr "%(object)s löschen?"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr "erforderlich"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr "Absenden"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr "Kein Ergebnis"
|
||||
|
||||
@@ -180,7 +190,9 @@ msgstr "Kein Ergebnis"
|
||||
msgid ""
|
||||
"Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of "
|
||||
"%(total_pages)s)"
|
||||
msgstr "Gesamt (%(start)s - %(end)s von %(total)s) (Seite %(page_number)s von %(total_pages)s)"
|
||||
msgstr ""
|
||||
"Gesamt (%(start)s - %(end)s von %(total)s) (Seite %(page_number)s von "
|
||||
"%(total_pages)s)"
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:14
|
||||
#: templates/appearance/generic_list_subtemplate.html:17
|
||||
@@ -188,34 +200,38 @@ msgstr "Gesamt (%(start)s - %(end)s von %(total)s) (Seite %(page_number)s von %(
|
||||
msgid "Total: %(total)s"
|
||||
msgstr "Gesamt: %(total)s"
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr "Bezeichner"
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
msgstr "Start"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr "Erste Schritte"
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr "Bevor Mayan EDMS voll genutzt werden kann, muss folgendes passieren:"
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
msgstr "Begriffe durch Leerzeichen getrennt"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr "Erweitert"
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
@@ -228,7 +244,9 @@ msgstr "Erstanmeldung"
|
||||
msgid ""
|
||||
"You have just finished installing <strong>Mayan EDMS</strong>, "
|
||||
"congratulations!"
|
||||
msgstr "Herzlichen Glückwunsch! Sie haben die Installation von <strong>Mayan EDMS</strong> erfolgreich abgeschlossen. "
|
||||
msgstr ""
|
||||
"Herzlichen Glückwunsch! Sie haben die Installation von <strong>Mayan EDMS</"
|
||||
"strong> erfolgreich abgeschlossen. "
|
||||
|
||||
#: templates/appearance/login.html:25
|
||||
msgid "Login using the following credentials:"
|
||||
@@ -253,9 +271,11 @@ msgstr "Passwort: <strong>%(password)s</strong>"
|
||||
msgid ""
|
||||
"Be sure to change the password to increase security and to disable this "
|
||||
"message."
|
||||
msgstr "Bitte ändern Sie das Passwort, um die Sicherheit zu erhöhen und diese Nachricht zu deaktivieren."
|
||||
msgstr ""
|
||||
"Bitte ändern Sie das Passwort, um die Sicherheit zu erhöhen und diese "
|
||||
"Nachricht zu deaktivieren."
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:49-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,11 +17,11 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr ""
|
||||
|
||||
@@ -29,7 +29,7 @@ msgstr ""
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr ""
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -37,7 +37,7 @@ msgstr ""
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr ""
|
||||
|
||||
@@ -53,7 +53,7 @@ msgid ""
|
||||
"identifier:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
@@ -66,47 +66,47 @@ msgstr ""
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,6 +124,10 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -138,39 +142,39 @@ msgstr ""
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr ""
|
||||
|
||||
@@ -187,34 +191,38 @@ msgstr ""
|
||||
msgid "Total: %(total)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
@@ -254,7 +262,7 @@ msgid ""
|
||||
"message."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -3,13 +3,13 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Roberto Rosario, 2015-2016
|
||||
# Roberto Rosario, 2015-2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-10-28 07:41+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:49-0400\n"
|
||||
"PO-Revision-Date: 2017-05-28 19:52+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr "Apariencia"
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr "Permisos insuficientes"
|
||||
|
||||
@@ -30,7 +30,7 @@ msgstr "Permisos insuficientes"
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr "No tienes suficientes permisos para esta operación"
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr "Página no encontrada"
|
||||
|
||||
@@ -38,7 +38,7 @@ msgstr "Página no encontrada"
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr "Lo sentimos, la página solicitada no pudo ser encontrada"
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr "Error de servidor"
|
||||
|
||||
@@ -52,9 +52,9 @@ msgstr "Ha habido un error. Se ha informado a los administradores del sitio vía
|
||||
msgid ""
|
||||
"If you need assistance, you may reference this error via the following "
|
||||
"identifier:"
|
||||
msgstr ""
|
||||
msgstr "Si necesita ayuda, puede hacer referencia a este error mediante el siguiente identificador:"
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr "Sobre"
|
||||
|
||||
@@ -67,47 +67,47 @@ msgstr "Versión"
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr "Número de compilación: %(build_number)s"
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr "Liberado bajo la licencia Apache 2.0 License"
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr "Todos los derechos reservados © 2011-2015 Roberto Rosario."
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Activar/Desactivar navegación"
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr "Perfil"
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr "Anónimo"
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "Detalles del usuario"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr "Exitoso"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr "Información"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr "Advertencia"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr "Acciones"
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr "Alternar desplegable"
|
||||
|
||||
@@ -125,6 +125,10 @@ msgstr "Editar: %(object)s"
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr "Ver detalles"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -139,39 +143,39 @@ msgstr "Confirmar eliminación"
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr "¿Borrar: %(object)s?"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr "requerido"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr "Enviar"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr "Ningún resultado"
|
||||
|
||||
@@ -188,34 +192,38 @@ msgstr "Total (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de %(t
|
||||
msgid "Total: %(total)s"
|
||||
msgstr "Total: %(total)s"
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr "Identificador"
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
msgstr "inicio"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr "Tablero"
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr "Iniciando"
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr "Antes de comenzar a utilizar Mayan EDMS usted necesita lo siguiente:"
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
msgstr "Términos separados por espacios"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr "Buscar páginas "
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr "Búsqueda"
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr "Avanzada"
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr "Buscar documentos"
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr "Iniciar sesión"
|
||||
@@ -255,7 +263,7 @@ msgid ""
|
||||
"message."
|
||||
msgstr "Asegúrese de cambiar su contraseña para aumentar la seguridad y para desactivar este mensaje"
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr "Entrar"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,27 +1,28 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-03-21 21:06+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:49-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/fa/)\n"
|
||||
"Language: fa\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fa\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr "مجوز ناکافی"
|
||||
|
||||
@@ -29,7 +30,7 @@ msgstr "مجوز ناکافی"
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr "مجوزهای لازم برای انجام این عملیات را ندارید."
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr "صفحه پیدا نشد."
|
||||
|
||||
@@ -37,14 +38,14 @@ msgstr "صفحه پیدا نشد."
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr "متاسفانه صفحه درخواستی پیدا نشد."
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:11
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via "
|
||||
"e-mail and should be fixed shortly. Thanks for your patience."
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:14
|
||||
@@ -53,7 +54,7 @@ msgid ""
|
||||
"identifier:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr "درباره"
|
||||
|
||||
@@ -66,47 +67,47 @@ msgstr "نسخه"
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr "تحت لیسانس Apache 2.0"
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr "کپی رایت و کپی"
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr "ناشناس"
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "جزئیات کاربر"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr "عملیات"
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,6 +125,10 @@ msgstr "ویرایش : %(object)s"
|
||||
msgid "Create"
|
||||
msgstr "ایجاد"
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -138,39 +143,39 @@ msgstr "تائید حذف"
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr "بلی"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr "خیر"
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr "الزامی"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr "ذخیره"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr "ارسال"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr "لغو"
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr "بی جواب و یا بی جواب"
|
||||
|
||||
@@ -187,34 +192,38 @@ msgstr ""
|
||||
msgid "Total: %(total)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr "مشخصه Identifier"
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
msgstr "خانه"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
msgstr "عبارات جداکننده فضا"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr "جستجو"
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr "لاگین"
|
||||
@@ -227,7 +236,9 @@ msgstr "دفعه اول لاگین "
|
||||
msgid ""
|
||||
"You have just finished installing <strong>Mayan EDMS</strong>, "
|
||||
"congratulations!"
|
||||
msgstr "You have just finished installing <strong>Mayan EDMS</strong>, congratulations!"
|
||||
msgstr ""
|
||||
"You have just finished installing <strong>Mayan EDMS</strong>, "
|
||||
"congratulations!"
|
||||
|
||||
#: templates/appearance/login.html:25
|
||||
msgid "Login using the following credentials:"
|
||||
@@ -254,7 +265,7 @@ msgid ""
|
||||
"message."
|
||||
msgstr "برای امنیت بیشتر پسورد خود را تغییر دهید"
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,28 +1,29 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Thierry Schott <DarkDare@users.noreply.github.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-03-21 21:06+0000\n"
|
||||
"Last-Translator: Thierry Schott <DarkDare@users.noreply.github.com>\n"
|
||||
"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:49-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/"
|
||||
"fr/)\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr "Apparence"
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr "Droits insuffisants"
|
||||
|
||||
@@ -30,7 +31,7 @@ msgstr "Droits insuffisants"
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr "Vous n'avez pas les permissions requises pour cette opération."
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr "Page non trouvée"
|
||||
|
||||
@@ -38,23 +39,28 @@ msgstr "Page non trouvée"
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr "Désolé, la page demandée n'a pu être trouvée."
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr "Erreur du serveur"
|
||||
|
||||
#: templates/500.html:11
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via "
|
||||
"e-mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr "Une erreur vient de se produire. Elle a été signalée aux administrateurs du site par courriel et devrait être résolue rapidement. Merci de votre patience."
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
"Une erreur vient de se produire. Elle a été signalée aux administrateurs du "
|
||||
"site par courriel et devrait être résolue rapidement. Merci de votre "
|
||||
"patience."
|
||||
|
||||
#: templates/500.html:14
|
||||
msgid ""
|
||||
"If you need assistance, you may reference this error via the following "
|
||||
"identifier:"
|
||||
msgstr "Si vous avez besoin d'assistance, vous pouvez faire référence à cette erreur grâce à l'identifiant suivant :"
|
||||
msgstr ""
|
||||
"Si vous avez besoin d'assistance, vous pouvez faire référence à cette erreur "
|
||||
"grâce à l'identifiant suivant :"
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr "A propos"
|
||||
|
||||
@@ -67,47 +73,47 @@ msgstr "Version"
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr "Numéro de build : %(build_number)s"
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr "Publié sous licence Apache 2.0"
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr "Copyright © 2011-2015 Roberto Rosario."
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Activer la navigation"
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr "Anonyme"
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "Détails de l'utilisateur"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr "Succès de l'opération"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr "Information"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr "Alerte"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr "Activer la liste déroulante"
|
||||
|
||||
@@ -125,6 +131,10 @@ msgstr "Modifie r: %(object)s"
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -139,39 +149,39 @@ msgstr "Confirmer la suppression"
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr "Supprimer : %(object)s?"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr "Oui"
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr "Requis"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr "Enregistrer"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr "Soumettre"
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr "Pas de résultats"
|
||||
|
||||
@@ -180,7 +190,9 @@ msgstr "Pas de résultats"
|
||||
msgid ""
|
||||
"Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of "
|
||||
"%(total_pages)s)"
|
||||
msgstr "Total (%(start)s - %(end)s surof %(total)s) (Page %(page_number)s sur %(total_pages)s)"
|
||||
msgstr ""
|
||||
"Total (%(start)s - %(end)s surof %(total)s) (Page %(page_number)s sur "
|
||||
"%(total_pages)s)"
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:14
|
||||
#: templates/appearance/generic_list_subtemplate.html:17
|
||||
@@ -188,34 +200,40 @@ msgstr "Total (%(start)s - %(end)s surof %(total)s) (Page %(page_number)s sur %(
|
||||
msgid "Total: %(total)s"
|
||||
msgstr "Total : %(total)s"
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr "Identifiant"
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
msgstr "Accueil"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr "Démarrage"
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr "Avant d'utiliser pleinement Mayan EDMS, les éléments suivants sont nécessaires :"
|
||||
msgstr ""
|
||||
"Avant d'utiliser pleinement Mayan EDMS, les éléments suivants sont "
|
||||
"nécessaires :"
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
msgstr "Termes séparés par des espaces"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr "Avancé"
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr "Connexion"
|
||||
@@ -228,11 +246,14 @@ msgstr "Première connexion"
|
||||
msgid ""
|
||||
"You have just finished installing <strong>Mayan EDMS</strong>, "
|
||||
"congratulations!"
|
||||
msgstr "Vous venez de finaliser l'installation de <strong>Mayan EDMS</strong>, félicitations!"
|
||||
msgstr ""
|
||||
"Vous venez de finaliser l'installation de <strong>Mayan EDMS</strong>, "
|
||||
"félicitations!"
|
||||
|
||||
#: templates/appearance/login.html:25
|
||||
msgid "Login using the following credentials:"
|
||||
msgstr "Connectez-vous en utilisant les informations d'identification suivantes :"
|
||||
msgstr ""
|
||||
"Connectez-vous en utilisant les informations d'identification suivantes :"
|
||||
|
||||
#: templates/appearance/login.html:26
|
||||
#, python-format
|
||||
@@ -253,9 +274,11 @@ msgstr "Mot de passe : <strong>%(password)s</strong>"
|
||||
msgid ""
|
||||
"Be sure to change the password to increase security and to disable this "
|
||||
"message."
|
||||
msgstr "Assurez-vous de modifier votre mot de passe pour accroître la sécurité et pour ne plus avoir ce message."
|
||||
msgstr ""
|
||||
"Assurez-vous de modifier votre mot de passe pour accroître la sécurité et "
|
||||
"pour ne plus avoir ce message."
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr "Connexion"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,27 +1,28 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-03-21 21:06+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:49-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/hu/)\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr ""
|
||||
|
||||
@@ -29,7 +30,7 @@ msgstr ""
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr ""
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -37,14 +38,14 @@ msgstr ""
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:11
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via "
|
||||
"e-mail and should be fixed shortly. Thanks for your patience."
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:14
|
||||
@@ -53,7 +54,7 @@ msgid ""
|
||||
"identifier:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
@@ -66,47 +67,47 @@ msgstr "Verzió"
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr "névtelen felhasználó"
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "A felhasználó adatai"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr "Műveletek"
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,6 +125,10 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -138,39 +143,39 @@ msgstr ""
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr ""
|
||||
|
||||
@@ -187,34 +192,38 @@ msgstr ""
|
||||
msgid "Total: %(total)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr "Keresés"
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr "Bejelentkezés"
|
||||
@@ -254,7 +263,7 @@ msgid ""
|
||||
"message."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,27 +1,28 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-11-23 02:52-0400\n"
|
||||
"PO-Revision-Date: 2016-03-21 21:06+0000\n"
|
||||
"POT-Creation-Date: 2017-05-28 15:49-0400\n"
|
||||
"PO-Revision-Date: 2017-04-21 16:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n"
|
||||
"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/"
|
||||
"language/id/)\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: id\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: apps.py:11
|
||||
#: apps.py:12
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: templates/403.html:5 templates/403.html.py:9
|
||||
#: templates/403.html:5 templates/403.html:9
|
||||
msgid "Insufficient permissions"
|
||||
msgstr ""
|
||||
|
||||
@@ -29,7 +30,7 @@ msgstr ""
|
||||
msgid "You don't have enough permissions for this operation."
|
||||
msgstr ""
|
||||
|
||||
#: templates/404.html:5 templates/404.html.py:9
|
||||
#: templates/404.html:5 templates/404.html:9
|
||||
msgid "Page not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -37,14 +38,14 @@ msgstr ""
|
||||
msgid "Sorry, but the requested page could not be found."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:5 templates/500.html.py:9
|
||||
#: templates/500.html:5 templates/500.html:9
|
||||
msgid "Server error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:11
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via "
|
||||
"e-mail and should be fixed shortly. Thanks for your patience."
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
|
||||
#: templates/500.html:14
|
||||
@@ -53,7 +54,7 @@ msgid ""
|
||||
"identifier:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html.py:57
|
||||
#: templates/appearance/about.html:8 templates/appearance/about.html:57
|
||||
msgid "About"
|
||||
msgstr "Tentang"
|
||||
|
||||
@@ -66,47 +67,47 @@ msgstr ""
|
||||
msgid "Build number: %(build_number)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:88
|
||||
#: templates/appearance/about.html:76
|
||||
msgid "Released under the Apache 2.0 License"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:100
|
||||
#: templates/appearance/about.html:88
|
||||
msgid "Copyright © 2011-2015 Roberto Rosario."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:43
|
||||
#: templates/appearance/base.html:56
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:72
|
||||
#: templates/appearance/base.html:86
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:92
|
||||
msgid "Anonymous"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:74
|
||||
msgid "User details"
|
||||
msgstr "Profil lengkap pengguna"
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:87
|
||||
#: templates/appearance/base.html:126
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:116
|
||||
#: templates/appearance/base.html:155
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:117
|
||||
#: templates/appearance/base.html:157
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,6 +125,10 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/dashboard_widget.html:25
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:6
|
||||
#: templates/appearance/generic_confirm.html:13
|
||||
msgid "Confirm"
|
||||
@@ -138,39 +143,39 @@ msgstr ""
|
||||
msgid "Delete: %(object)s?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:47
|
||||
#: templates/appearance/generic_confirm.html:48
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_confirm.html:49
|
||||
#: templates/appearance/generic_confirm.html:52
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_instance.html:39
|
||||
#: templates/appearance/generic_form_instance.html:46
|
||||
#: templates/appearance/generic_form_subtemplate.html:51
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:43
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:42
|
||||
msgid "required"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:71
|
||||
#: templates/appearance/generic_list_subtemplate.html:31
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:65
|
||||
#: templates/appearance/generic_list_subtemplate.html:33
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:64
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_form_subtemplate.html:74
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:69
|
||||
#: templates/appearance/generic_multiform_subtemplate.html:68
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_horizontal.html:21
|
||||
#: templates/appearance/generic_list_subtemplate.html:108
|
||||
#: templates/appearance/generic_list_subtemplate.html:112
|
||||
msgid "No results"
|
||||
msgstr ""
|
||||
|
||||
@@ -187,34 +192,38 @@ msgstr ""
|
||||
msgid "Total: %(total)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/generic_list_subtemplate.html:51
|
||||
#: templates/appearance/generic_list_subtemplate.html:53
|
||||
msgid "Identifier"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:8 templates/appearance/home.html.py:12
|
||||
msgid "Home"
|
||||
#: templates/appearance/home.html:9 templates/appearance/home.html:13
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:21
|
||||
#: templates/appearance/home.html:22
|
||||
msgid "Getting started"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:24
|
||||
#: templates/appearance/home.html:25
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:57
|
||||
msgid "Space separated terms"
|
||||
#: templates/appearance/home.html:46
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:59
|
||||
#: templates/appearance/home.html:48 templates/appearance/home.html:58
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
#: templates/appearance/home.html:49 templates/appearance/home.html:59
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:56
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:10
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
@@ -254,7 +263,7 @@ msgid ""
|
||||
"message."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html.py:54
|
||||
#: templates/appearance/login.html:45 templates/appearance/login.html:54
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user