#55 Celery parcel updating
* adds celery to project * adds celery background task for updating parcels * adds parcel calculation to creating of new geometries as well * tests outstanding!!!
This commit is contained in:
parent
e618d454e2
commit
d6d15185ea
README.md
codelist/management/commands
konova
locale/de/LC_MESSAGES
requirements.txt@ -3,6 +3,14 @@ Konova is the successor of KSP. It's build using the python webframework Django,
|
|||||||
the database postgresql and the css library bootstrap as well as the icon package
|
the database postgresql and the css library bootstrap as well as the icon package
|
||||||
fontawesome for a modern look, following best practices from the industry.
|
fontawesome for a modern look, following best practices from the industry.
|
||||||
|
|
||||||
|
## Background processes
|
||||||
|
Konova uses celery for background processing. To start the worker you need to run
|
||||||
|
```shell
|
||||||
|
$ celery -A konova worker -l INFO
|
||||||
|
```
|
||||||
|
More info can be found [here](https://docs.celeryproject.org/en/stable/getting-started/first-steps-with-celery.html#running-the-celery-worker-server).
|
||||||
|
Redis must be installed.
|
||||||
|
|
||||||
## Technical documentation
|
## Technical documentation
|
||||||
Technical documention is provided in the projects git wiki.
|
Technical documention is provided in the projects git wiki.
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@ from codelist.settings import CODELIST_INTERVENTION_HANDLER_ID, CODELIST_CONSERV
|
|||||||
CODELIST_COMPENSATION_ACTION_ID, CODELIST_COMPENSATION_ACTION_CLASS_ID, CODELIST_COMPENSATION_ADDITIONAL_TYPE_ID, \
|
CODELIST_COMPENSATION_ACTION_ID, CODELIST_COMPENSATION_ACTION_CLASS_ID, CODELIST_COMPENSATION_ADDITIONAL_TYPE_ID, \
|
||||||
CODELIST_BASE_URL, CODELIST_PROCESS_TYPE_ID
|
CODELIST_BASE_URL, CODELIST_PROCESS_TYPE_ID
|
||||||
from konova.management.commands.setup import BaseKonovaCommand
|
from konova.management.commands.setup import BaseKonovaCommand
|
||||||
|
from konova.settings import PROXIES
|
||||||
|
|
||||||
bool_map = {
|
bool_map = {
|
||||||
"true": True,
|
"true": True,
|
||||||
@ -43,7 +44,7 @@ class Command(BaseKonovaCommand):
|
|||||||
|
|
||||||
for list_id in codelist_ids:
|
for list_id in codelist_ids:
|
||||||
_url = CODELIST_BASE_URL + "/" + str(list_id)
|
_url = CODELIST_BASE_URL + "/" + str(list_id)
|
||||||
result = requests.get(url=_url)
|
result = requests.get(url=_url, proxies=PROXIES)
|
||||||
|
|
||||||
if result.status_code != 200:
|
if result.status_code != 200:
|
||||||
self._write_error("Error on codelist url '{}'".format(_url))
|
self._write_error("Error on codelist url '{}'".format(_url))
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
# This will make sure the app is always imported when
|
||||||
|
# Django starts so that shared_task will use this app.
|
||||||
|
from .celery import app as celery_app
|
||||||
|
|
||||||
|
__all__ = ('celery_app',)
|
25
konova/celery.py
Normal file
25
konova/celery.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
from celery import Celery
|
||||||
|
|
||||||
|
# Set the default Django settings module for the 'celery' program.
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'konova.settings')
|
||||||
|
|
||||||
|
app = Celery('konova')
|
||||||
|
|
||||||
|
# Using a string here means the worker doesn't have to serialize
|
||||||
|
# the configuration object to child processes.
|
||||||
|
# - namespace='CELERY' means all celery-related configuration keys
|
||||||
|
# should have a `CELERY_` prefix.
|
||||||
|
app.config_from_object('django.conf:settings', namespace='CELERY')
|
||||||
|
|
||||||
|
# Load task modules from all registered Django apps.
|
||||||
|
app.autodiscover_tasks()
|
||||||
|
|
||||||
|
# Declare redis as broker
|
||||||
|
app.conf.broker_url = 'redis://localhost:6379/0'
|
||||||
|
|
||||||
|
|
||||||
|
@app.task(bind=True)
|
||||||
|
def debug_task(self):
|
||||||
|
print(f'Request: {self.request!r}')
|
@ -23,6 +23,7 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
from konova.contexts import BaseContext
|
from konova.contexts import BaseContext
|
||||||
from konova.models import BaseObject, Geometry, RecordableObjectMixin
|
from konova.models import BaseObject, Geometry, RecordableObjectMixin
|
||||||
from konova.settings import DEFAULT_SRID
|
from konova.settings import DEFAULT_SRID
|
||||||
|
from konova.tasks import celery_update_parcels
|
||||||
from konova.utils.message_templates import FORM_INVALID
|
from konova.utils.message_templates import FORM_INVALID
|
||||||
from user.models import UserActionLogEntry
|
from user.models import UserActionLogEntry
|
||||||
|
|
||||||
@ -287,7 +288,7 @@ class SimpleGeomForm(BaseForm):
|
|||||||
geometry = self.instance.geometry
|
geometry = self.instance.geometry
|
||||||
geometry.geom = self.cleaned_data.get("geom", MultiPolygon(srid=DEFAULT_SRID))
|
geometry.geom = self.cleaned_data.get("geom", MultiPolygon(srid=DEFAULT_SRID))
|
||||||
geometry.modified = action
|
geometry.modified = action
|
||||||
geometry.update_parcels()
|
|
||||||
geometry.save()
|
geometry.save()
|
||||||
except LookupError:
|
except LookupError:
|
||||||
# No geometry or linked instance holding a geometry exist --> create a new one!
|
# No geometry or linked instance holding a geometry exist --> create a new one!
|
||||||
@ -295,6 +296,8 @@ class SimpleGeomForm(BaseForm):
|
|||||||
geom=self.cleaned_data.get("geom", MultiPolygon(srid=DEFAULT_SRID)),
|
geom=self.cleaned_data.get("geom", MultiPolygon(srid=DEFAULT_SRID)),
|
||||||
created=action,
|
created=action,
|
||||||
)
|
)
|
||||||
|
# Start the parcel update procedure in a background process
|
||||||
|
celery_update_parcels.delay(geometry.id)
|
||||||
return geometry
|
return geometry
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,6 +14,12 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
# Load other settings
|
# Load other settings
|
||||||
from konova.sub_settings.django_settings import *
|
from konova.sub_settings.django_settings import *
|
||||||
|
|
||||||
|
proxy = "CHANGE_ME"
|
||||||
|
PROXIES = {
|
||||||
|
"http": proxy,
|
||||||
|
"https": proxy,
|
||||||
|
}
|
||||||
|
|
||||||
# ALLOWED FILE UPLOAD DEFINITIONS
|
# ALLOWED FILE UPLOAD DEFINITIONS
|
||||||
# Default: Upload into upper folder of code
|
# Default: Upload into upper folder of code
|
||||||
MEDIA_ROOT = BASE_DIR + "/.."
|
MEDIA_ROOT = BASE_DIR + "/.."
|
||||||
|
14
konova/tasks.py
Normal file
14
konova/tasks.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
from celery import shared_task
|
||||||
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
|
|
||||||
|
from konova.models import Geometry
|
||||||
|
|
||||||
|
|
||||||
|
@shared_task
|
||||||
|
def celery_update_parcels(geometry_id: str):
|
||||||
|
try:
|
||||||
|
geom = Geometry.objects.get(id=geometry_id)
|
||||||
|
geom.parcels.clear()
|
||||||
|
geom.update_parcels()
|
||||||
|
except ObjectDoesNotExist:
|
||||||
|
return
|
@ -3,6 +3,13 @@
|
|||||||
<h3>{% trans 'Spatial reference' %}</h3>
|
<h3>{% trans 'Spatial reference' %}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-container w-100 scroll-300">
|
<div class="table-container w-100 scroll-300">
|
||||||
|
{% if parcels|length == 0 %}
|
||||||
|
<article class="alert alert-info">
|
||||||
|
{% blocktrans %}
|
||||||
|
If the geometry is not empty, the parcels are currently recalculated. Please refresh this page in a few moments.
|
||||||
|
{% endblocktrans %}
|
||||||
|
</article>
|
||||||
|
{% else %}
|
||||||
<table class="table table-hover">
|
<table class="table table-hover">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -26,4 +33,5 @@
|
|||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
@ -11,7 +11,7 @@ import requests
|
|||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from konova.settings import SSO_SERVER_BASE, SSO_PUBLIC_KEY
|
from konova.settings import SSO_SERVER_BASE, SSO_PUBLIC_KEY, PROXIES
|
||||||
from konova.sub_settings.context_settings import BASE_TITLE_SHORT
|
from konova.sub_settings.context_settings import BASE_TITLE_SHORT
|
||||||
|
|
||||||
|
|
||||||
@ -52,7 +52,8 @@ class Messenger:
|
|||||||
requests.post(
|
requests.post(
|
||||||
self.server_url,
|
self.server_url,
|
||||||
data=data,
|
data=data,
|
||||||
headers=headers
|
headers=headers,
|
||||||
|
proxies=PROXIES
|
||||||
)
|
)
|
||||||
|
|
||||||
def send_object_checked(self, obj_identifier: str, performing_user: User, detail_view_url: str = ""):
|
def send_object_checked(self, obj_identifier: str, performing_user: User, detail_view_url: str = ""):
|
||||||
|
@ -12,7 +12,7 @@ import xmltodict
|
|||||||
from django.contrib.gis.db.models.functions import AsGML, Transform
|
from django.contrib.gis.db.models.functions import AsGML, Transform
|
||||||
from requests.auth import HTTPDigestAuth
|
from requests.auth import HTTPDigestAuth
|
||||||
|
|
||||||
from konova.settings import DEFAULT_SRID_RLP, PARCEL_WFS_USER, PARCEL_WFS_PW
|
from konova.settings import DEFAULT_SRID_RLP, PARCEL_WFS_USER, PARCEL_WFS_PW, PROXIES
|
||||||
|
|
||||||
|
|
||||||
class AbstractWFSFetcher:
|
class AbstractWFSFetcher:
|
||||||
@ -148,7 +148,8 @@ class ParcelWFSFetcher(AbstractWFSFetcher):
|
|||||||
response = requests.post(
|
response = requests.post(
|
||||||
url=self.base_url,
|
url=self.base_url,
|
||||||
data=post_body,
|
data=post_body,
|
||||||
auth=self.auth_digest_obj
|
auth=self.auth_digest_obj,
|
||||||
|
proxies=PROXIES,
|
||||||
)
|
)
|
||||||
|
|
||||||
content = response.content.decode("utf-8")
|
content = response.content.decode("utf-8")
|
||||||
|
Binary file not shown.
@ -11,15 +11,15 @@
|
|||||||
#: intervention/forms/forms.py:52 intervention/forms/forms.py:154
|
#: intervention/forms/forms.py:52 intervention/forms/forms.py:154
|
||||||
#: intervention/forms/forms.py:166 intervention/forms/modalForms.py:125
|
#: intervention/forms/forms.py:166 intervention/forms/modalForms.py:125
|
||||||
#: intervention/forms/modalForms.py:138 intervention/forms/modalForms.py:151
|
#: intervention/forms/modalForms.py:138 intervention/forms/modalForms.py:151
|
||||||
#: konova/forms.py:139 konova/forms.py:240 konova/forms.py:309
|
#: konova/forms.py:140 konova/forms.py:241 konova/forms.py:312
|
||||||
#: konova/forms.py:336 konova/forms.py:346 konova/forms.py:359
|
#: konova/forms.py:339 konova/forms.py:349 konova/forms.py:362
|
||||||
#: konova/forms.py:371 konova/forms.py:389 user/forms.py:38
|
#: konova/forms.py:374 konova/forms.py:392 user/forms.py:38
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-05 14:04+0100\n"
|
"POT-Creation-Date: 2022-01-06 12:04+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -40,7 +40,7 @@ msgstr "Bis"
|
|||||||
#: analysis/forms.py:47 compensation/forms/forms.py:77
|
#: analysis/forms.py:47 compensation/forms/forms.py:77
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:58
|
#: compensation/templates/compensation/detail/eco_account/view.html:58
|
||||||
#: compensation/templates/compensation/report/eco_account/report.html:16
|
#: compensation/templates/compensation/report/eco_account/report.html:16
|
||||||
#: compensation/utils/quality.py:100 ema/templates/ema/detail/view.html:42
|
#: compensation/utils/quality.py:100 ema/templates/ema/detail/view.html:49
|
||||||
#: ema/templates/ema/report/report.html:16 ema/utils/quality.py:26
|
#: ema/templates/ema/report/report.html:16 ema/utils/quality.py:26
|
||||||
#: intervention/forms/forms.py:100
|
#: intervention/forms/forms.py:100
|
||||||
#: intervention/templates/intervention/detail/view.html:56
|
#: intervention/templates/intervention/detail/view.html:56
|
||||||
@ -68,7 +68,7 @@ msgstr "Bericht generieren"
|
|||||||
msgid "Select a timespan and the desired conservation office"
|
msgid "Select a timespan and the desired conservation office"
|
||||||
msgstr "Wählen Sie die Zeitspanne und die gewünschte Eintragungsstelle"
|
msgstr "Wählen Sie die Zeitspanne und die gewünschte Eintragungsstelle"
|
||||||
|
|
||||||
#: analysis/forms.py:69 konova/forms.py:187
|
#: analysis/forms.py:69 konova/forms.py:188
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr "Weiter"
|
msgstr "Weiter"
|
||||||
|
|
||||||
@ -149,7 +149,7 @@ msgstr "Geprüft"
|
|||||||
#: compensation/templates/compensation/detail/compensation/view.html:77
|
#: compensation/templates/compensation/detail/compensation/view.html:77
|
||||||
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:31
|
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:31
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:44
|
#: compensation/templates/compensation/detail/eco_account/view.html:44
|
||||||
#: ema/tables.py:38 ema/templates/ema/detail/view.html:28
|
#: ema/tables.py:38 ema/templates/ema/detail/view.html:35
|
||||||
#: intervention/tables.py:39
|
#: intervention/tables.py:39
|
||||||
#: intervention/templates/intervention/detail/view.html:82
|
#: intervention/templates/intervention/detail/view.html:82
|
||||||
#: user/models/user_action.py:20
|
#: user/models/user_action.py:20
|
||||||
@ -322,14 +322,14 @@ msgstr "Automatisch generiert"
|
|||||||
#: compensation/templates/compensation/report/compensation/report.html:12
|
#: compensation/templates/compensation/report/compensation/report.html:12
|
||||||
#: compensation/templates/compensation/report/eco_account/report.html:12
|
#: compensation/templates/compensation/report/eco_account/report.html:12
|
||||||
#: ema/tables.py:33 ema/templates/ema/detail/includes/documents.html:28
|
#: ema/tables.py:33 ema/templates/ema/detail/includes/documents.html:28
|
||||||
#: ema/templates/ema/detail/view.html:24
|
#: ema/templates/ema/detail/view.html:31
|
||||||
#: ema/templates/ema/report/report.html:12 intervention/forms/forms.py:38
|
#: ema/templates/ema/report/report.html:12 intervention/forms/forms.py:38
|
||||||
#: intervention/tables.py:28
|
#: intervention/tables.py:28
|
||||||
#: intervention/templates/intervention/detail/includes/compensations.html:33
|
#: intervention/templates/intervention/detail/includes/compensations.html:33
|
||||||
#: intervention/templates/intervention/detail/includes/documents.html:28
|
#: intervention/templates/intervention/detail/includes/documents.html:28
|
||||||
#: intervention/templates/intervention/detail/view.html:31
|
#: intervention/templates/intervention/detail/view.html:31
|
||||||
#: intervention/templates/intervention/report/report.html:12
|
#: intervention/templates/intervention/report/report.html:12
|
||||||
#: konova/forms.py:335
|
#: konova/forms.py:338
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Bezeichnung"
|
msgstr "Bezeichnung"
|
||||||
|
|
||||||
@ -356,7 +356,7 @@ msgstr "Kompensation XY; Flur ABC"
|
|||||||
#: intervention/templates/intervention/detail/includes/documents.html:31
|
#: intervention/templates/intervention/detail/includes/documents.html:31
|
||||||
#: intervention/templates/intervention/detail/includes/payments.html:34
|
#: intervention/templates/intervention/detail/includes/payments.html:34
|
||||||
#: intervention/templates/intervention/detail/includes/revocation.html:38
|
#: intervention/templates/intervention/detail/includes/revocation.html:38
|
||||||
#: konova/forms.py:370 konova/templates/konova/includes/comment_card.html:16
|
#: konova/forms.py:373 konova/templates/konova/includes/comment_card.html:16
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Kommentar"
|
msgstr "Kommentar"
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ msgstr "Zusätzlicher Kommentar"
|
|||||||
#: compensation/forms/forms.py:93
|
#: compensation/forms/forms.py:93
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:62
|
#: compensation/templates/compensation/detail/eco_account/view.html:62
|
||||||
#: compensation/templates/compensation/report/eco_account/report.html:20
|
#: compensation/templates/compensation/report/eco_account/report.html:20
|
||||||
#: compensation/utils/quality.py:102 ema/templates/ema/detail/view.html:46
|
#: compensation/utils/quality.py:102 ema/templates/ema/detail/view.html:53
|
||||||
#: ema/templates/ema/report/report.html:20 ema/utils/quality.py:28
|
#: ema/templates/ema/report/report.html:20 ema/utils/quality.py:28
|
||||||
#: intervention/forms/forms.py:128
|
#: intervention/forms/forms.py:128
|
||||||
#: intervention/templates/intervention/detail/view.html:60
|
#: intervention/templates/intervention/detail/view.html:60
|
||||||
@ -472,7 +472,7 @@ msgstr "Zahlung wird an diesem Datum erwartet"
|
|||||||
|
|
||||||
#: compensation/forms/modalForms.py:62 compensation/forms/modalForms.py:239
|
#: compensation/forms/modalForms.py:62 compensation/forms/modalForms.py:239
|
||||||
#: compensation/forms/modalForms.py:317 intervention/forms/modalForms.py:152
|
#: compensation/forms/modalForms.py:317 intervention/forms/modalForms.py:152
|
||||||
#: konova/forms.py:372
|
#: konova/forms.py:375
|
||||||
msgid "Additional comment, maximum {} letters"
|
msgid "Additional comment, maximum {} letters"
|
||||||
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
|
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
|
||||||
|
|
||||||
@ -504,7 +504,7 @@ msgstr "Neuer Zustand"
|
|||||||
msgid "Insert data for the new state"
|
msgid "Insert data for the new state"
|
||||||
msgstr "Geben Sie die Daten des neuen Zustandes ein"
|
msgstr "Geben Sie die Daten des neuen Zustandes ein"
|
||||||
|
|
||||||
#: compensation/forms/modalForms.py:155 konova/forms.py:189
|
#: compensation/forms/modalForms.py:155 konova/forms.py:190
|
||||||
msgid "Object removed"
|
msgid "Object removed"
|
||||||
msgstr "Objekt entfernt"
|
msgstr "Objekt entfernt"
|
||||||
|
|
||||||
@ -660,7 +660,7 @@ msgstr "Am {} von {} geprüft worden"
|
|||||||
#: compensation/templates/compensation/detail/compensation/view.html:80
|
#: compensation/templates/compensation/detail/compensation/view.html:80
|
||||||
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:56
|
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:56
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:47
|
#: compensation/templates/compensation/detail/eco_account/view.html:47
|
||||||
#: ema/tables.py:101 ema/templates/ema/detail/view.html:31
|
#: ema/tables.py:101 ema/templates/ema/detail/view.html:38
|
||||||
#: intervention/tables.py:131
|
#: intervention/tables.py:131
|
||||||
#: intervention/templates/intervention/detail/view.html:85
|
#: intervention/templates/intervention/detail/view.html:85
|
||||||
msgid "Not recorded yet"
|
msgid "Not recorded yet"
|
||||||
@ -793,7 +793,7 @@ msgstr "Dokumente"
|
|||||||
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:14
|
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:14
|
||||||
#: ema/templates/ema/detail/includes/documents.html:14
|
#: ema/templates/ema/detail/includes/documents.html:14
|
||||||
#: intervention/templates/intervention/detail/includes/documents.html:14
|
#: intervention/templates/intervention/detail/includes/documents.html:14
|
||||||
#: konova/forms.py:388
|
#: konova/forms.py:391
|
||||||
msgid "Add new document"
|
msgid "Add new document"
|
||||||
msgstr "Neues Dokument hinzufügen"
|
msgstr "Neues Dokument hinzufügen"
|
||||||
|
|
||||||
@ -889,7 +889,7 @@ msgstr "Geprüft am "
|
|||||||
#: compensation/templates/compensation/detail/compensation/view.html:84
|
#: compensation/templates/compensation/detail/compensation/view.html:84
|
||||||
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:54
|
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:54
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:51
|
#: compensation/templates/compensation/detail/eco_account/view.html:51
|
||||||
#: ema/templates/ema/detail/view.html:35
|
#: ema/templates/ema/detail/view.html:42
|
||||||
#: intervention/templates/intervention/detail/view.html:75
|
#: intervention/templates/intervention/detail/view.html:75
|
||||||
#: intervention/templates/intervention/detail/view.html:89
|
#: intervention/templates/intervention/detail/view.html:89
|
||||||
msgid "by"
|
msgid "by"
|
||||||
@ -897,7 +897,7 @@ msgstr "von"
|
|||||||
|
|
||||||
#: compensation/templates/compensation/detail/compensation/view.html:84
|
#: compensation/templates/compensation/detail/compensation/view.html:84
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:51
|
#: compensation/templates/compensation/detail/eco_account/view.html:51
|
||||||
#: ema/templates/ema/detail/view.html:35
|
#: ema/templates/ema/detail/view.html:42
|
||||||
#: intervention/templates/intervention/detail/view.html:89
|
#: intervention/templates/intervention/detail/view.html:89
|
||||||
msgid "Recorded on "
|
msgid "Recorded on "
|
||||||
msgstr "Verzeichnet am"
|
msgstr "Verzeichnet am"
|
||||||
@ -906,7 +906,7 @@ msgstr "Verzeichnet am"
|
|||||||
#: compensation/templates/compensation/detail/eco_account/view.html:74
|
#: compensation/templates/compensation/detail/eco_account/view.html:74
|
||||||
#: compensation/templates/compensation/report/compensation/report.html:24
|
#: compensation/templates/compensation/report/compensation/report.html:24
|
||||||
#: compensation/templates/compensation/report/eco_account/report.html:41
|
#: compensation/templates/compensation/report/eco_account/report.html:41
|
||||||
#: ema/templates/ema/detail/view.html:54
|
#: ema/templates/ema/detail/view.html:61
|
||||||
#: ema/templates/ema/report/report.html:28
|
#: ema/templates/ema/report/report.html:28
|
||||||
#: intervention/templates/intervention/detail/view.html:108
|
#: intervention/templates/intervention/detail/view.html:108
|
||||||
#: intervention/templates/intervention/report/report.html:91
|
#: intervention/templates/intervention/report/report.html:91
|
||||||
@ -915,7 +915,7 @@ msgstr "Zuletzt bearbeitet"
|
|||||||
|
|
||||||
#: compensation/templates/compensation/detail/compensation/view.html:99
|
#: compensation/templates/compensation/detail/compensation/view.html:99
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:82
|
#: compensation/templates/compensation/detail/eco_account/view.html:82
|
||||||
#: ema/templates/ema/detail/view.html:69 intervention/forms/modalForms.py:52
|
#: ema/templates/ema/detail/view.html:76 intervention/forms/modalForms.py:52
|
||||||
#: intervention/templates/intervention/detail/view.html:116
|
#: intervention/templates/intervention/detail/view.html:116
|
||||||
msgid "Shared with"
|
msgid "Shared with"
|
||||||
msgstr "Freigegeben für"
|
msgstr "Freigegeben für"
|
||||||
@ -976,8 +976,8 @@ msgstr "Keine Flächenmenge für Abbuchungen eingegeben. Bitte bearbeiten."
|
|||||||
#: compensation/templates/compensation/detail/eco_account/view.html:61
|
#: compensation/templates/compensation/detail/eco_account/view.html:61
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:65
|
#: compensation/templates/compensation/detail/eco_account/view.html:65
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:69
|
#: compensation/templates/compensation/detail/eco_account/view.html:69
|
||||||
#: ema/templates/ema/detail/view.html:41 ema/templates/ema/detail/view.html:45
|
#: ema/templates/ema/detail/view.html:48 ema/templates/ema/detail/view.html:52
|
||||||
#: ema/templates/ema/detail/view.html:49
|
#: ema/templates/ema/detail/view.html:56
|
||||||
#: intervention/templates/intervention/detail/view.html:30
|
#: intervention/templates/intervention/detail/view.html:30
|
||||||
#: intervention/templates/intervention/detail/view.html:34
|
#: intervention/templates/intervention/detail/view.html:34
|
||||||
#: intervention/templates/intervention/detail/view.html:38
|
#: intervention/templates/intervention/detail/view.html:38
|
||||||
@ -993,7 +993,7 @@ msgstr "fehlt"
|
|||||||
|
|
||||||
#: compensation/templates/compensation/detail/eco_account/view.html:70
|
#: compensation/templates/compensation/detail/eco_account/view.html:70
|
||||||
#: compensation/templates/compensation/report/eco_account/report.html:24
|
#: compensation/templates/compensation/report/eco_account/report.html:24
|
||||||
#: ema/templates/ema/detail/view.html:50
|
#: ema/templates/ema/detail/view.html:57
|
||||||
#: ema/templates/ema/report/report.html:24
|
#: ema/templates/ema/report/report.html:24
|
||||||
msgid "Action handler"
|
msgid "Action handler"
|
||||||
msgstr "Maßnahmenträger"
|
msgstr "Maßnahmenträger"
|
||||||
@ -1005,17 +1005,17 @@ msgstr "Maßnahmenträger"
|
|||||||
msgid "Report"
|
msgid "Report"
|
||||||
msgstr "Bericht"
|
msgstr "Bericht"
|
||||||
|
|
||||||
#: compensation/templates/compensation/report/compensation/report.html:42
|
#: compensation/templates/compensation/report/compensation/report.html:45
|
||||||
#: compensation/templates/compensation/report/eco_account/report.html:59
|
#: compensation/templates/compensation/report/eco_account/report.html:62
|
||||||
#: ema/templates/ema/report/report.html:46
|
#: ema/templates/ema/report/report.html:49
|
||||||
#: intervention/templates/intervention/report/report.html:105
|
#: intervention/templates/intervention/report/report.html:108
|
||||||
msgid "Open in browser"
|
msgid "Open in browser"
|
||||||
msgstr "Im Browser öffnen"
|
msgstr "Im Browser öffnen"
|
||||||
|
|
||||||
#: compensation/templates/compensation/report/compensation/report.html:46
|
#: compensation/templates/compensation/report/compensation/report.html:49
|
||||||
#: compensation/templates/compensation/report/eco_account/report.html:63
|
#: compensation/templates/compensation/report/eco_account/report.html:66
|
||||||
#: ema/templates/ema/report/report.html:50
|
#: ema/templates/ema/report/report.html:53
|
||||||
#: intervention/templates/intervention/report/report.html:109
|
#: intervention/templates/intervention/report/report.html:112
|
||||||
msgid "View in LANIS"
|
msgid "View in LANIS"
|
||||||
msgstr "In LANIS öffnen"
|
msgstr "In LANIS öffnen"
|
||||||
|
|
||||||
@ -1057,7 +1057,7 @@ msgid "Compensation {} edited"
|
|||||||
msgstr "Kompensation {} bearbeitet"
|
msgstr "Kompensation {} bearbeitet"
|
||||||
|
|
||||||
#: compensation/views/compensation.py:230 compensation/views/eco_account.py:309
|
#: compensation/views/compensation.py:230 compensation/views/eco_account.py:309
|
||||||
#: ema/views.py:181 intervention/views.py:477
|
#: ema/views.py:183 intervention/views.py:477
|
||||||
msgid "Log"
|
msgid "Log"
|
||||||
msgstr "Log"
|
msgstr "Log"
|
||||||
|
|
||||||
@ -1066,32 +1066,32 @@ msgid "Compensation removed"
|
|||||||
msgstr "Kompensation entfernt"
|
msgstr "Kompensation entfernt"
|
||||||
|
|
||||||
#: compensation/views/compensation.py:274 compensation/views/eco_account.py:461
|
#: compensation/views/compensation.py:274 compensation/views/eco_account.py:461
|
||||||
#: ema/views.py:348 intervention/views.py:129
|
#: ema/views.py:350 intervention/views.py:129
|
||||||
msgid "Document added"
|
msgid "Document added"
|
||||||
msgstr "Dokument hinzugefügt"
|
msgstr "Dokument hinzugefügt"
|
||||||
|
|
||||||
#: compensation/views/compensation.py:343 compensation/views/eco_account.py:355
|
#: compensation/views/compensation.py:343 compensation/views/eco_account.py:355
|
||||||
#: ema/views.py:286
|
#: ema/views.py:288
|
||||||
msgid "State added"
|
msgid "State added"
|
||||||
msgstr "Zustand hinzugefügt"
|
msgstr "Zustand hinzugefügt"
|
||||||
|
|
||||||
#: compensation/views/compensation.py:364 compensation/views/eco_account.py:376
|
#: compensation/views/compensation.py:364 compensation/views/eco_account.py:376
|
||||||
#: ema/views.py:307
|
#: ema/views.py:309
|
||||||
msgid "Action added"
|
msgid "Action added"
|
||||||
msgstr "Maßnahme hinzugefügt"
|
msgstr "Maßnahme hinzugefügt"
|
||||||
|
|
||||||
#: compensation/views/compensation.py:385 compensation/views/eco_account.py:441
|
#: compensation/views/compensation.py:385 compensation/views/eco_account.py:441
|
||||||
#: ema/views.py:328
|
#: ema/views.py:330
|
||||||
msgid "Deadline added"
|
msgid "Deadline added"
|
||||||
msgstr "Frist/Termin hinzugefügt"
|
msgstr "Frist/Termin hinzugefügt"
|
||||||
|
|
||||||
#: compensation/views/compensation.py:407 compensation/views/eco_account.py:398
|
#: compensation/views/compensation.py:407 compensation/views/eco_account.py:398
|
||||||
#: ema/views.py:418
|
#: ema/views.py:420
|
||||||
msgid "State removed"
|
msgid "State removed"
|
||||||
msgstr "Zustand gelöscht"
|
msgstr "Zustand gelöscht"
|
||||||
|
|
||||||
#: compensation/views/compensation.py:429 compensation/views/eco_account.py:420
|
#: compensation/views/compensation.py:429 compensation/views/eco_account.py:420
|
||||||
#: ema/views.py:440
|
#: ema/views.py:442
|
||||||
msgid "Action removed"
|
msgid "Action removed"
|
||||||
msgstr "Maßnahme entfernt"
|
msgstr "Maßnahme entfernt"
|
||||||
|
|
||||||
@ -1111,12 +1111,12 @@ msgstr "Ökokonto entfernt"
|
|||||||
msgid "Deduction removed"
|
msgid "Deduction removed"
|
||||||
msgstr "Abbuchung entfernt"
|
msgstr "Abbuchung entfernt"
|
||||||
|
|
||||||
#: compensation/views/eco_account.py:330 ema/views.py:261
|
#: compensation/views/eco_account.py:330 ema/views.py:263
|
||||||
#: intervention/views.py:519
|
#: intervention/views.py:519
|
||||||
msgid "{} unrecorded"
|
msgid "{} unrecorded"
|
||||||
msgstr "{} entzeichnet"
|
msgstr "{} entzeichnet"
|
||||||
|
|
||||||
#: compensation/views/eco_account.py:330 ema/views.py:261
|
#: compensation/views/eco_account.py:330 ema/views.py:263
|
||||||
#: intervention/views.py:519
|
#: intervention/views.py:519
|
||||||
msgid "{} recorded"
|
msgid "{} recorded"
|
||||||
msgstr "{} verzeichnet"
|
msgstr "{} verzeichnet"
|
||||||
@ -1125,22 +1125,22 @@ msgstr "{} verzeichnet"
|
|||||||
msgid "Deduction added"
|
msgid "Deduction added"
|
||||||
msgstr "Abbuchung hinzugefügt"
|
msgstr "Abbuchung hinzugefügt"
|
||||||
|
|
||||||
#: compensation/views/eco_account.py:614 ema/views.py:516
|
#: compensation/views/eco_account.py:616 ema/views.py:520
|
||||||
#: intervention/views.py:375
|
#: intervention/views.py:375
|
||||||
msgid "{} has already been shared with you"
|
msgid "{} has already been shared with you"
|
||||||
msgstr "{} wurde bereits für Sie freigegeben"
|
msgstr "{} wurde bereits für Sie freigegeben"
|
||||||
|
|
||||||
#: compensation/views/eco_account.py:619 ema/views.py:521
|
#: compensation/views/eco_account.py:621 ema/views.py:525
|
||||||
#: intervention/views.py:380
|
#: intervention/views.py:380
|
||||||
msgid "{} has been shared with you"
|
msgid "{} has been shared with you"
|
||||||
msgstr "{} ist nun für Sie freigegeben"
|
msgstr "{} ist nun für Sie freigegeben"
|
||||||
|
|
||||||
#: compensation/views/eco_account.py:626 ema/views.py:528
|
#: compensation/views/eco_account.py:628 ema/views.py:532
|
||||||
#: intervention/views.py:387
|
#: intervention/views.py:387
|
||||||
msgid "Share link invalid"
|
msgid "Share link invalid"
|
||||||
msgstr "Freigabelink ungültig"
|
msgstr "Freigabelink ungültig"
|
||||||
|
|
||||||
#: compensation/views/eco_account.py:649 ema/views.py:551
|
#: compensation/views/eco_account.py:651 ema/views.py:555
|
||||||
#: intervention/views.py:410
|
#: intervention/views.py:410
|
||||||
msgid "Share settings updated"
|
msgid "Share settings updated"
|
||||||
msgstr "Freigabe Einstellungen aktualisiert"
|
msgstr "Freigabe Einstellungen aktualisiert"
|
||||||
@ -1177,7 +1177,7 @@ msgstr ""
|
|||||||
msgid "EMA"
|
msgid "EMA"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ema/templates/ema/detail/view.html:12
|
#: ema/templates/ema/detail/view.html:19
|
||||||
msgid "Payment funded compensation"
|
msgid "Payment funded compensation"
|
||||||
msgstr "Ersatzzahlungsmaßnahme"
|
msgstr "Ersatzzahlungsmaßnahme"
|
||||||
|
|
||||||
@ -1185,11 +1185,11 @@ msgstr "Ersatzzahlungsmaßnahme"
|
|||||||
msgid "EMA {} added"
|
msgid "EMA {} added"
|
||||||
msgstr "EMA {} hinzugefügt"
|
msgstr "EMA {} hinzugefügt"
|
||||||
|
|
||||||
#: ema/views.py:210
|
#: ema/views.py:212
|
||||||
msgid "EMA {} edited"
|
msgid "EMA {} edited"
|
||||||
msgstr "EMA {} bearbeitet"
|
msgstr "EMA {} bearbeitet"
|
||||||
|
|
||||||
#: ema/views.py:242
|
#: ema/views.py:244
|
||||||
msgid "EMA removed"
|
msgid "EMA removed"
|
||||||
msgstr "EMA entfernt"
|
msgstr "EMA entfernt"
|
||||||
|
|
||||||
@ -1333,7 +1333,7 @@ msgstr "Kompensationen und Zahlungen geprüft"
|
|||||||
msgid "Run check"
|
msgid "Run check"
|
||||||
msgstr "Prüfung vornehmen"
|
msgstr "Prüfung vornehmen"
|
||||||
|
|
||||||
#: intervention/forms/modalForms.py:196 konova/forms.py:454
|
#: intervention/forms/modalForms.py:196 konova/forms.py:457
|
||||||
msgid ""
|
msgid ""
|
||||||
"I, {} {}, confirm that all necessary control steps have been performed by "
|
"I, {} {}, confirm that all necessary control steps have been performed by "
|
||||||
"myself."
|
"myself."
|
||||||
@ -1517,81 +1517,81 @@ msgstr ""
|
|||||||
"somit nichts eingeben, bearbeiten oder sonstige Aktionen ausführen. "
|
"somit nichts eingeben, bearbeiten oder sonstige Aktionen ausführen. "
|
||||||
"Kontaktieren Sie bitte einen Administrator. +++"
|
"Kontaktieren Sie bitte einen Administrator. +++"
|
||||||
|
|
||||||
#: konova/forms.py:36 templates/form/collapsable/form.html:62
|
#: konova/forms.py:37 templates/form/collapsable/form.html:62
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Speichern"
|
msgstr "Speichern"
|
||||||
|
|
||||||
#: konova/forms.py:68
|
#: konova/forms.py:69
|
||||||
msgid "Not editable"
|
msgid "Not editable"
|
||||||
msgstr "Nicht editierbar"
|
msgstr "Nicht editierbar"
|
||||||
|
|
||||||
#: konova/forms.py:138 konova/forms.py:308
|
#: konova/forms.py:139 konova/forms.py:311
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bestätige"
|
msgstr "Bestätige"
|
||||||
|
|
||||||
#: konova/forms.py:150 konova/forms.py:317
|
#: konova/forms.py:151 konova/forms.py:320
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Löschen"
|
msgstr "Löschen"
|
||||||
|
|
||||||
#: konova/forms.py:152
|
#: konova/forms.py:153
|
||||||
msgid "You are about to remove {} {}"
|
msgid "You are about to remove {} {}"
|
||||||
msgstr "Sie sind dabei {} {} zu löschen"
|
msgstr "Sie sind dabei {} {} zu löschen"
|
||||||
|
|
||||||
#: konova/forms.py:239 konova/utils/quality.py:44 konova/utils/quality.py:46
|
#: konova/forms.py:240 konova/utils/quality.py:44 konova/utils/quality.py:46
|
||||||
#: templates/form/collapsable/form.html:45
|
#: templates/form/collapsable/form.html:45
|
||||||
msgid "Geometry"
|
msgid "Geometry"
|
||||||
msgstr "Geometrie"
|
msgstr "Geometrie"
|
||||||
|
|
||||||
#: konova/forms.py:318
|
#: konova/forms.py:321
|
||||||
msgid "Are you sure?"
|
msgid "Are you sure?"
|
||||||
msgstr "Sind Sie sicher?"
|
msgstr "Sind Sie sicher?"
|
||||||
|
|
||||||
#: konova/forms.py:345
|
#: konova/forms.py:348
|
||||||
msgid "Created on"
|
msgid "Created on"
|
||||||
msgstr "Erstellt"
|
msgstr "Erstellt"
|
||||||
|
|
||||||
#: konova/forms.py:347
|
#: konova/forms.py:350
|
||||||
msgid "When has this file been created? Important for photos."
|
msgid "When has this file been created? Important for photos."
|
||||||
msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
|
msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
|
||||||
|
|
||||||
#: konova/forms.py:358
|
#: konova/forms.py:361
|
||||||
#: venv/lib/python3.7/site-packages/django/db/models/fields/files.py:231
|
#: venv/lib/python3.7/site-packages/django/db/models/fields/files.py:231
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr "Datei"
|
msgstr "Datei"
|
||||||
|
|
||||||
#: konova/forms.py:360
|
#: konova/forms.py:363
|
||||||
msgid "Allowed formats: pdf, jpg, png. Max size 15 MB."
|
msgid "Allowed formats: pdf, jpg, png. Max size 15 MB."
|
||||||
msgstr "Formate: pdf, jpg, png. Maximal 15 MB."
|
msgstr "Formate: pdf, jpg, png. Maximal 15 MB."
|
||||||
|
|
||||||
#: konova/forms.py:406
|
#: konova/forms.py:409
|
||||||
msgid "Unsupported file type"
|
msgid "Unsupported file type"
|
||||||
msgstr "Dateiformat nicht unterstützt"
|
msgstr "Dateiformat nicht unterstützt"
|
||||||
|
|
||||||
#: konova/forms.py:413
|
#: konova/forms.py:416
|
||||||
msgid "File too large"
|
msgid "File too large"
|
||||||
msgstr "Datei zu groß"
|
msgstr "Datei zu groß"
|
||||||
|
|
||||||
#: konova/forms.py:422
|
#: konova/forms.py:425
|
||||||
msgid "Added document"
|
msgid "Added document"
|
||||||
msgstr "Dokument hinzugefügt"
|
msgstr "Dokument hinzugefügt"
|
||||||
|
|
||||||
#: konova/forms.py:445
|
#: konova/forms.py:448
|
||||||
msgid "Confirm record"
|
msgid "Confirm record"
|
||||||
msgstr "Verzeichnen bestätigen"
|
msgstr "Verzeichnen bestätigen"
|
||||||
|
|
||||||
#: konova/forms.py:453
|
#: konova/forms.py:456
|
||||||
msgid "Record data"
|
msgid "Record data"
|
||||||
msgstr "Daten verzeichnen"
|
msgstr "Daten verzeichnen"
|
||||||
|
|
||||||
#: konova/forms.py:460
|
#: konova/forms.py:463
|
||||||
msgid "Confirm unrecord"
|
msgid "Confirm unrecord"
|
||||||
msgstr "Entzeichnen bestätigen"
|
msgstr "Entzeichnen bestätigen"
|
||||||
|
|
||||||
#: konova/forms.py:461
|
#: konova/forms.py:464
|
||||||
msgid "Unrecord data"
|
msgid "Unrecord data"
|
||||||
msgstr "Daten entzeichnen"
|
msgstr "Daten entzeichnen"
|
||||||
|
|
||||||
#: konova/forms.py:462
|
#: konova/forms.py:465
|
||||||
msgid "I, {} {}, confirm that this data must be unrecorded."
|
msgid "I, {} {}, confirm that this data must be unrecorded."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen."
|
"Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen."
|
||||||
@ -1667,23 +1667,35 @@ msgstr "Abbuchen"
|
|||||||
msgid "Spatial reference"
|
msgid "Spatial reference"
|
||||||
msgstr "Raumreferenz"
|
msgstr "Raumreferenz"
|
||||||
|
|
||||||
#: konova/templates/konova/includes/parcels.html:9
|
#: konova/templates/konova/includes/parcels.html:8
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" If the geometry is not empty, the parcels are currently "
|
||||||
|
"recalculated. Please refresh this page in a few moments.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Falls die Geometrie nicht leer ist, werden die Flurstücke aktuell berechnet. "
|
||||||
|
"Bitte laden Sie diese Seite in ein paar Augenblicken erneut... \n"
|
||||||
|
" "
|
||||||
|
|
||||||
|
#: konova/templates/konova/includes/parcels.html:16
|
||||||
msgid "Kreis"
|
msgid "Kreis"
|
||||||
msgstr "Kreis"
|
msgstr "Kreis"
|
||||||
|
|
||||||
#: konova/templates/konova/includes/parcels.html:10
|
#: konova/templates/konova/includes/parcels.html:17
|
||||||
msgid "Gemarkung"
|
msgid "Gemarkung"
|
||||||
msgstr "Gemarkung"
|
msgstr "Gemarkung"
|
||||||
|
|
||||||
#: konova/templates/konova/includes/parcels.html:11
|
#: konova/templates/konova/includes/parcels.html:18
|
||||||
msgid "Parcel"
|
msgid "Parcel"
|
||||||
msgstr "Flur"
|
msgstr "Flur"
|
||||||
|
|
||||||
#: konova/templates/konova/includes/parcels.html:12
|
#: konova/templates/konova/includes/parcels.html:19
|
||||||
msgid "Parcel counter"
|
msgid "Parcel counter"
|
||||||
msgstr "Flurstückzähler"
|
msgstr "Flurstückzähler"
|
||||||
|
|
||||||
#: konova/templates/konova/includes/parcels.html:13
|
#: konova/templates/konova/includes/parcels.html:20
|
||||||
msgid "Parcel number"
|
msgid "Parcel number"
|
||||||
msgstr "Flurstücknenner"
|
msgstr "Flurstücknenner"
|
||||||
|
|
||||||
@ -1769,15 +1781,15 @@ msgstr "Maßnahme hinzufügen"
|
|||||||
msgid "Geometry conflict detected with {}"
|
msgid "Geometry conflict detected with {}"
|
||||||
msgstr "Geometriekonflikt mit folgenden Einträgen erkannt: {}"
|
msgstr "Geometriekonflikt mit folgenden Einträgen erkannt: {}"
|
||||||
|
|
||||||
#: konova/utils/messenger.py:69
|
#: konova/utils/messenger.py:70
|
||||||
msgid "{} checked"
|
msgid "{} checked"
|
||||||
msgstr "{} geprüft"
|
msgstr "{} geprüft"
|
||||||
|
|
||||||
#: konova/utils/messenger.py:71
|
#: konova/utils/messenger.py:72
|
||||||
msgid "<a href=\"{}\">Check it out</a>"
|
msgid "<a href=\"{}\">Check it out</a>"
|
||||||
msgstr "<a href=\"{}\">Schauen Sie rein</a>"
|
msgstr "<a href=\"{}\">Schauen Sie rein</a>"
|
||||||
|
|
||||||
#: konova/utils/messenger.py:72
|
#: konova/utils/messenger.py:73
|
||||||
msgid "{} has been checked successfully by user {}! {}"
|
msgid "{} has been checked successfully by user {}! {}"
|
||||||
msgstr "{} wurde erfolgreich vom Nutzer {} geprüft! {}"
|
msgstr "{} wurde erfolgreich vom Nutzer {} geprüft! {}"
|
||||||
|
|
||||||
@ -2051,6 +2063,315 @@ msgstr "Benachrichtigungen bearbeitet"
|
|||||||
msgid "close"
|
msgid "close"
|
||||||
msgstr "Schließen"
|
msgstr "Schließen"
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/_termui_impl.py:496
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{editor}: Editing failed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/_termui_impl.py:500
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{editor}: Editing failed: {e}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/_unicodefun.py:20
|
||||||
|
msgid ""
|
||||||
|
"Click will abort further execution because Python was configured to use "
|
||||||
|
"ASCII as encoding for the environment. Consult https://click.palletsprojects."
|
||||||
|
"com/unicode-support/ for mitigation steps."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/_unicodefun.py:56
|
||||||
|
msgid ""
|
||||||
|
"Additional information: on this system no suitable UTF-8 locales were "
|
||||||
|
"discovered. This most likely requires resolving by reconfiguring the locale "
|
||||||
|
"system."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/_unicodefun.py:65
|
||||||
|
msgid ""
|
||||||
|
"This system supports the C.UTF-8 locale which is recommended. You might be "
|
||||||
|
"able to resolve your issue by exporting the following environment variables:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/_unicodefun.py:75
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"This system lists some UTF-8 supporting locales that you can pick from. The "
|
||||||
|
"following suitable locales were discovered: {locales}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/_unicodefun.py:93
|
||||||
|
msgid ""
|
||||||
|
"Click discovered that you exported a UTF-8 locale but the locale system "
|
||||||
|
"could not pick up from it because it does not exist. The exported locale is "
|
||||||
|
"{locale!r} but it is not supported."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1095
|
||||||
|
msgid "Aborted!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1279
|
||||||
|
#: venv/lib/python3.7/site-packages/click/decorators.py:434
|
||||||
|
msgid "Show this message and exit."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1308
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1334
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "(Deprecated) {text}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1351
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Optionen"
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1375
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Got unexpected extra argument ({args})"
|
||||||
|
msgid_plural "Got unexpected extra arguments ({args})"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1390
|
||||||
|
msgid "DeprecationWarning: The command {name!r} is deprecated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1607
|
||||||
|
msgid "Commands"
|
||||||
|
msgstr "Befehle"
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1639
|
||||||
|
msgid "Missing command."
|
||||||
|
msgstr "Befehl fehlt"
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:1717
|
||||||
|
msgid "No such command {name!r}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:2258
|
||||||
|
msgid "Value must be an iterable."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:2278
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Takes {nargs} values but 1 was given."
|
||||||
|
msgid_plural "Takes {nargs} values but {len} were given."
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:2701
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "env var: {var}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:2724
|
||||||
|
msgid "(dynamic)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:2735
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "default: {default}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/core.py:2748
|
||||||
|
msgid "required"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/decorators.py:339
|
||||||
|
#, python-format
|
||||||
|
msgid "%(prog)s, version %(version)s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/decorators.py:403
|
||||||
|
msgid "Show the version and exit."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:43
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:79
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Error: {message}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:71
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Try '{command} {option}' for help."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:120
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Invalid value: {message}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:122
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Invalid value for {param_hint}: {message}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:178
|
||||||
|
msgid "Missing argument"
|
||||||
|
msgstr "Argument fehlt"
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:180
|
||||||
|
msgid "Missing option"
|
||||||
|
msgstr "Option fehlt"
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:182
|
||||||
|
msgid "Missing parameter"
|
||||||
|
msgstr "Parameter fehlt"
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:184
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Missing {param_type}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:191
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Missing parameter: {param_name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:211
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "No such option: {name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:223
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Did you mean {possibility}?"
|
||||||
|
msgid_plural "(Possible options: {possibilities})"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:261
|
||||||
|
msgid "unknown error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/exceptions.py:268
|
||||||
|
msgid "Could not open file {filename!r}: {message}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/parser.py:231
|
||||||
|
msgid "Argument {name!r} takes {nargs} values."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/parser.py:413
|
||||||
|
msgid "Option {name!r} does not take a value."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/parser.py:474
|
||||||
|
msgid "Option {name!r} requires an argument."
|
||||||
|
msgid_plural "Option {name!r} requires {nargs} arguments."
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/shell_completion.py:316
|
||||||
|
msgid "Shell completion is not supported for Bash versions older than 4.4."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/shell_completion.py:322
|
||||||
|
msgid "Couldn't detect Bash version, shell completion is not supported."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/termui.py:161
|
||||||
|
msgid "Repeat for confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/termui.py:178
|
||||||
|
msgid "Error: The value you entered was invalid."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/termui.py:180
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Error: {e.message}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/termui.py:191
|
||||||
|
msgid "Error: The two entered values do not match."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/termui.py:247
|
||||||
|
msgid "Error: invalid input"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/termui.py:798
|
||||||
|
msgid "Press any key to continue..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:258
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"Choose from:\n"
|
||||||
|
"\t{choices}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:290
|
||||||
|
msgid "{value!r} is not {choice}."
|
||||||
|
msgid_plural "{value!r} is not one of {choices}."
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:380
|
||||||
|
msgid "{value!r} does not match the format {format}."
|
||||||
|
msgid_plural "{value!r} does not match the formats {formats}."
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:402
|
||||||
|
msgid "{value!r} is not a valid {number_type}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:458
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{value} is not in the range {range}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:599
|
||||||
|
msgid "{value!r} is not a valid boolean."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:623
|
||||||
|
msgid "{value!r} is not a valid UUID."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:801
|
||||||
|
msgid "file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:803
|
||||||
|
msgid "directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:805
|
||||||
|
msgid "path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:851
|
||||||
|
msgid "{name} {filename!r} does not exist."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:860
|
||||||
|
msgid "{name} {filename!r} is a file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:868
|
||||||
|
msgid "{name} {filename!r} is a directory."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:876
|
||||||
|
msgid "{name} {filename!r} is not writable."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:884
|
||||||
|
msgid "{name} {filename!r} is not readable."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/click/types.py:951
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{len_type} values are required, but {len_value} was given."
|
||||||
|
msgid_plural "{len_type} values are required, but {len_value} were given."
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
#: venv/lib/python3.7/site-packages/django/contrib/messages/apps.py:7
|
#: venv/lib/python3.7/site-packages/django/contrib/messages/apps.py:7
|
||||||
msgid "Messages"
|
msgid "Messages"
|
||||||
msgstr "Nachrichten"
|
msgstr "Nachrichten"
|
||||||
@ -3224,6 +3545,21 @@ msgstr ""
|
|||||||
msgid "A fontawesome icon field"
|
msgid "A fontawesome icon field"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/kombu/transport/qpid.py:1310
|
||||||
|
#, python-format
|
||||||
|
msgid "Attempting to connect to qpid with SASL mechanism %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/kombu/transport/qpid.py:1315
|
||||||
|
#, python-format
|
||||||
|
msgid "Connected to qpid with SASL mechanism %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: venv/lib/python3.7/site-packages/kombu/transport/qpid.py:1333
|
||||||
|
#, python-format
|
||||||
|
msgid "Unable to connect to qpid with SASL mechanism %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#~ msgid "No file given!"
|
#~ msgid "No file given!"
|
||||||
#~ msgstr "Keine Datei angegeben!"
|
#~ msgstr "Keine Datei angegeben!"
|
||||||
|
|
||||||
|
@ -1,7 +1,16 @@
|
|||||||
|
amqp==5.0.9
|
||||||
asgiref==3.3.1
|
asgiref==3.3.1
|
||||||
beautifulsoup4==4.9.3
|
beautifulsoup4==4.9.3
|
||||||
|
billiard==3.6.4.0
|
||||||
|
cached-property==1.5.2
|
||||||
|
celery==5.2.3
|
||||||
certifi==2020.11.8
|
certifi==2020.11.8
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
|
click==8.0.3
|
||||||
|
click-didyoumean==0.3.0
|
||||||
|
click-plugins==1.1.1
|
||||||
|
click-repl==0.2.0
|
||||||
|
Deprecated==1.2.13
|
||||||
Django==3.1.3
|
Django==3.1.3
|
||||||
django-autocomplete-light==3.8.2
|
django-autocomplete-light==3.8.2
|
||||||
django-bootstrap-modal-forms==2.2.0
|
django-bootstrap-modal-forms==2.2.0
|
||||||
@ -15,19 +24,27 @@ et-xmlfile==1.1.0
|
|||||||
idna==2.10
|
idna==2.10
|
||||||
importlib-metadata==2.1.1
|
importlib-metadata==2.1.1
|
||||||
itsdangerous==0.24
|
itsdangerous==0.24
|
||||||
|
kombu==5.2.3
|
||||||
openpyxl==3.0.9
|
openpyxl==3.0.9
|
||||||
OWSLib==0.25.0
|
OWSLib==0.25.0
|
||||||
|
packaging==21.3
|
||||||
|
prompt-toolkit==3.0.24
|
||||||
psycopg2-binary==2.9.1
|
psycopg2-binary==2.9.1
|
||||||
|
pyparsing==3.0.6
|
||||||
pyproj==3.2.1
|
pyproj==3.2.1
|
||||||
python-dateutil==2.8.2
|
python-dateutil==2.8.2
|
||||||
pytz==2020.4
|
pytz==2021.3
|
||||||
PyYAML==6.0
|
PyYAML==6.0
|
||||||
qrcode==7.3.1
|
qrcode==7.3.1
|
||||||
|
redis==4.1.0
|
||||||
requests==2.25.0
|
requests==2.25.0
|
||||||
six==1.15.0
|
six==1.15.0
|
||||||
soupsieve==2.2.1
|
soupsieve==2.2.1
|
||||||
sqlparse==0.4.1
|
sqlparse==0.4.1
|
||||||
urllib3==1.26.2
|
urllib3==1.26.2
|
||||||
|
vine==5.0.0
|
||||||
|
wcwidth==0.2.5
|
||||||
webservices==0.7
|
webservices==0.7
|
||||||
|
wrapt==1.13.3
|
||||||
xmltodict==0.12.0
|
xmltodict==0.12.0
|
||||||
zipp==3.4.1
|
zipp==3.4.1
|
||||||
|
Loading…
Reference in New Issue
Block a user