# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

# --------------------------------------------------
# Classes Section
#
# General - These are localizations that are used by multiple classes.
#           If you can't find the text under each class, you can find it here.
# --------------------------------------------------
username.required=Es mu\u00DF ein Benutzername angegeben werden.
username.has.spaces=Benutzername darf keine Leerzeichen enthalten.
password.confimation.failed=Das Passwort und die Passwortbest\u00E4tigung stimmen nicht \u00FCberein.
password.provided.does.not.match.existing=Das angegebene Passwort stimmt nicht mit dem existierenden \u00FCberein.
user.does.not.exist=Der Benutzer ''{0}'' existiert nicht.
user.not.found.exception=Fehler beim Beauskunften des Benutzers ''{0}'': {1}
save.role.success=Rolle ''{0}'' erfolgreich aktualisiert.
cannot.get.role=Ermittlung der Rolle ''{0}'' nicht m\u00F6glich: {1}
invalid.user.credentials=Ung\u00FCltige Benutzer Legitimiationsdaten.
user.already.exists=Der Benutzer ''{0}'' existiert bereits.
cannot.edit.user.null.username=Bearbeitung eines Benutzers mit leerem Namen nicht m\u00F6glich.
cannot.edit.user.empty.username=Bearbeitung eines Benutzers ohne Namen nicht m\u00F6glich.
cannot.get.user=Ermittlung des Benutzers ''{0}'' nicht m\u00F6glich: {1}
cannot.edit.user.null.credentials=Bearbeitung eines Benutzers mit leeren Legitimationsdaten nicht m\u00F6glich.
cannot.operate.on.null.user=Verarbeitung leerer Benutzer nicht m\u00F6glich.

# --------------------------------------------------
# AbstractUserCredentialsAction
# --------------------------------------------------
fullName.required=Es mu\u00DF ein vollst\u00E4ndiger Name angegeben werden.
email.required=Es mu\u00DF eine E-Mail-Adresse angegeben werden.
email.invalid=Ung\u00FCltige E-Mail-Adresse.
password.required=Es mu\u00DF ein Passwort angegeben werden.
passwords.does.not.match=Die Passw\u00F6rter stimmen nicht \u00FCberein.

# --------------------------------------------------
# AccountAction
# --------------------------------------------------
cannot.show.account.login.required=Anzeige Ihres Kontos nicht m\u00F6glich. Sie sind nicht angemeldet.

# --------------------------------------------------
# LoginAction
# --------------------------------------------------
reset.password.missing=Schl\u00FCssel der Passwort-Zur\u00FCcksetzung nicht gefunden.
cannot.find.key=Schl\u00FCssel nicht gefunden.
cannot.find.key.at.the.moment=Der Schl\u00FCssel kann momentan nicht verarbeitet werden. Bitte versuchen Sie es sp\u00E4ter erneut.
cannot.find.user=Benutzer nicht gefunden.
validation.failure.key.missing=Validierungsfehler, Schl\u00FCssel fehlt.
incorrect.username.password=Sie haben eine ung\u00FCltige Kombination von Benutzername und Passwort angegeben.
account.validation.required=Es wurde eine ung\u00FCltige Kombination von Benutzername und Passwort angegeben.
authentication.failed=Authentifizierung fehlgeschlagen.
authentication.exception=Fehler bei der Authentifizierung: {0}
account.locked=Ihr Konto ist gesperrt.
login.already.logged.in=Sie sind bereits authentifiziert.

# --------------------------------------------------
# PasswordAction
# --------------------------------------------------
newPassword.cannot.be.empty=Das neue Passwort darf nicht leer sein.
cannot.update.user.not.found=Aktualisierung nicht m\u00F6glich. Benutzer ''{0}'' nicht gefunden.
admin.deleted.account=Tritt meistens auf, wenn ein Administrator Ihr Konto gel\u00F6scht hat.

# --------------------------------------------------
# PasswordResetAction
# --------------------------------------------------
username.cannot.be.empty=Benutzername darf nicht leer sein.
password.reset.success=Es wurde eine Nachricht versendet, sollte der Benutzer ermittelt worden sein.
password.reset.failure=Es wurde eine Nachricht versendet, sollte der Benutzer ermittelt worden sein.
password.reset.email.generation.failure=Ein interner Systemfehler hat die Erstellung der E-Mail zur Zur\u00FCcksetzung des Passwortes verhindert.

# --------------------------------------------------
# RegisterAction
# --------------------------------------------------
assign.role.failure=Die ''registered-user'' Rolle konnte nicht zugewiesen werden.
cannot.register.user=Verarbeitung der Registrierungs-Anfrage nicht m\u00F6glich.

# --------------------------------------------------
# AddAdminUserAction
# --------------------------------------------------
invalid.admin.credentials=Ung\u00FCltige Administrations-Legitimationsdaten. Bitte versuchen Sie es erneut.
admin.user.already.exists=Der Administrator existiert bereits. Evtl. wurde der Administrator bereits von jemand anderem angelegt, bevor Sie die M\u00F6glichkeit dazu hatten.
cannot.assign.admin.role=System-Administrator Rolle kann nicht zugewiesen werden.

admin.wrongUsername=Der Name für den prim\u00E4ren Administrator mu\u00DF 'admin' lauten.
# --------------------------------------------------
# AssignmentsAction
# --------------------------------------------------
rbac.edit.user.empty.principal=RBAC Benutzer-Aktualisierung mir leerer Identit\u00E4t nicht m\u00F6glich.
error.adding.selected.roles=Fehler beim Hinzuf\u00FCgen der ausgew\u00E4hlten Rollen: {0}
error.removing.selected.roles=Fehler beim Entfernen der ausgew\u00E4hlten Rollen: {0}

# --------------------------------------------------
# EditRoleAction
# --------------------------------------------------
cannot.edit.null.role=Bearbeitung einer Rolle mit leerem Namen nicht m\u00F6glich.
cannot.edit.empty.role=Bearbeitung einer Rolle ohne Namen nicht m\u00F6glich.
cannot.operate.null.role=Verarbeitung leerer Rollen nicht m\u00F6glich.

# --------------------------------------------------
# OperationsAction
# --------------------------------------------------
cannot.list.all.operations=Ermittlung der Operationen nicht m\u00F6glich: {0}
cannot.save.operation=Aktualisierung der Operation nicht m\u00F6glich: {0}.
cannot.remove.operation=Entfernung der Operation ''{0}'' nicht m\u00F6glich.

# --------------------------------------------------
# PermissionsAction
# --------------------------------------------------
cannot.list.all.permissions=Ermittlung der Berechtigungen nicht m\u00F6glich: {0}
cannot.edit.null.permission=Bearbeitung einer Berechtigung mit leerem Namen nicht m\u00F6glich.
cannot.edit.empty.permission=Bearbeitung einer Berechtigung ohne Namen nicht m\u00F6glich.
cannot.operate.null.permission=Verarbeitung leerer Berechtigungen nicht m\u00F6glich.
cannot.get.permission=Ermittlung der Berechtigung ''{0}'' nicht m\u00F6glich: {1}
save.permission.success=Berechtigung ''{0}'' erfolgreich aktualisiert.

# --------------------------------------------------
# ReportAction
# --------------------------------------------------
cannot.get.report=Ermittlung des Berichts nicht m\u00F6glich: {0}
cannot.generate.report=Erstellung des Berichts nicht m\u00F6glich.

# --------------------------------------------------
# ResourcesAction
# --------------------------------------------------
cannot.list.all.resources=Ermittlung der Resourcen nicht m\u00F6glich: {0}
cannot.save.resource=Aktualisierung der Resouce nicht m\u00F6glich: {0}
cannot.remove.resource=Zu l\u00F6schende Resource nicht gefunden ''{0}''

# --------------------------------------------------
# RoleCreateAction
# --------------------------------------------------
cannot.add.null.permission=Hinzuf\u00FCgen einer leeren Berechtigung nicht m\u00F6glich.
cannot.add.empty.role=Erstellung einer Rolle mit leerem Namen nicht m\u00F6glich.

# --------------------------------------------------
# RolesAction
# --------------------------------------------------
cannot.list.all.roles=Ermittlung der Rollen nicht m\u00F6glich: {0}

# --------------------------------------------------
# UserDeleteAction
# --------------------------------------------------
cannot.remove.user.null.username=L\u00F6schung eines Benutzers auf Basis eines leeren Benutzernamens nicht m\u00F6glich.
cannot.remove.user.empty.username=L\u00F6schung eines Benutzers mit leerem Namen nicht m\u00F6glich.
cannot.remove.user.not.found=L\u00F6schung des Benutzers ''{0}'' nicht m\u00F6glich. Benutzer nicht gefunden.
cannot.remove.user.role=L\u00F6schung der Rollen-Zuweisung f\u00FCr ''{0}'' nicht m\u00F6glich. {1}
cannot.remove.user.non.existent=L\u00F6schung des nicht existierenden Benutzers ''{0}'' nicht m\u00F6glich.

# --------------------------------------------------
# JSP Section
#
# General - These are localizations that are used by multiple JSPs.
#           If you can't find the text under each JSP, you can find it here.
# --------------------------------------------------
username=Benutzername
full.name=Vollst\u00E4ndiger Name
email=E-Mail
email.address=E-Mail Adresse
password=Passwort
current.password=Aktuelles Passwort
new.password=Neues Passwort
confirm.password=Passwortbest\u00E4tigung
register=Registrieren
login=Anmelden
logout=Abmelden
submit=\u00DCbertragen
remove=Entfernen
delete=L\u00F6schen
update=Aktualisieren
search=Suchen
cancel=Abbrechen
name=Name
description=Beschreibung
role.name=Rollenname
role.description=Rollenbeschreibung
remove.selected.roles=Ausgew\u00E4hlte Rollen entfernen
role=Rolle
roles=Rollen
effective.roles=Effektive Rollen
permissions=Berechtigungen
operations=Operationen
resources=Resourcen

# --------------------------------------------------
# accessDenied
# --------------------------------------------------
access.denied.page.title=Sicherheits Hinweis - Zugang verweigert
access.denied.section.title=Sicherheits Hinweis - Zugang verweigert
access.denied.message=Sie haben nicht die erforderlichen Berechtigungen zur Ausf\u00FChrung des Vorgangs.<br>Bitte kontaktieren Sie Ihren Administrator, um entsprechende Berechtigungen erteilt zu bekommen.

# --------------------------------------------------
# account
# --------------------------------------------------
account.details.page.title=Kontodetails
account.details.section.title=Kontodetails

# --------------------------------------------------
# alert
# --------------------------------------------------
alert.page.title=Sicherheitshinweis
alert.message=Sie sind zur Ausf\u00FChrung des Vorgangs nicht authorisiert.

# --------------------------------------------------
# generalError
# --------------------------------------------------
general.error.page.title=Es ist ein Fehler aufgetreten
general.error.section.title=Es ist ein Fehler aufgetreten

# --------------------------------------------------
# login
# --------------------------------------------------
login.page.title=Anmeldungsseite
login.section.title=Anmeldung
login.remember.me=Daten merken
login.need.an.account=Ben\u00F6tigen Sie ein Benutzerkonto?
login.register=Registrieren Sie sich!
login.forgot.your.password=Passwort vergessen?
login.request.password.reset=Zur\u00FCcksetzung des Passwortes beauftragen.

# --------------------------------------------------
# password
# --------------------------------------------------
password.page.title=Passwort\u00E4nderung
password.section.title=Passwort\u00E4nderung
password.existing=Bestehendes Passwort
password.new=Neues Passwort
password.new.confirm=Passwortbest\u00E4tigung
password.change=Passwort \u00E4ndern

# --------------------------------------------------
# passwordResetNotification
# --------------------------------------------------
password.reset.page.title=Passwort-Zur\u00FCcksetzung
password.reset.message=Zur\u00FCcksetzung des Passwortes erfolgreich.
password.reset.go.to=Gehe zu

# --------------------------------------------------
# register
# --------------------------------------------------
register.page.title=Registrierungs-Seite
register.section.title=Registrierung eines Benutzerkontos

# --------------------------------------------------
# requestPasswordReset
# --------------------------------------------------
request.password.reset.page.title=Passwort-Zur\u00FCcksetzung beauftragen
request.password.reset.section.title=Passwort-Zur\u00FCcksetzung beauftragen
request.password.reset=Zur\u00FCcksetzung beauftragen

# --------------------------------------------------
# requiresAuthentication
# --------------------------------------------------
requires.authentication.page.title=Sicherheits-Hinweis - Aktion erfordert Authenfizierung
requires.authentication.section.title=Sicherheits-Hinweis - Aktion erfordert Authenfizierung
requires.authentication.message=Diese Aktion erfordert Ihre Authenfizierung.
requires.authentication.go.ahead=Weiter

# --------------------------------------------------
# validationNotification
# --------------------------------------------------
validation.notification.page.title=Best\u00E4tigungs-Benachrichtigungs-Seite
validation.notification.section.title=Best\u00E4tigungs-Erinnerung
validation.notification.message.1=Eine Best\u00E4tigungsmail wurde an die von Ihnen angegebene Adresse ({0}) gesendet. Bitte pr\u00FCfen Sie Ihren Posteingang.
validation.notification.message.2=Dieses Konto ({0}) wird bis zur Best\u00E4tigung gesperrt bleiben.

# --------------------------------------------------
# grantRoles
# --------------------------------------------------
grant=Erteilen

# --------------------------------------------------
# securityLinks
# --------------------------------------------------
current.user=Aktueller Benutzer:
unknown.user=Unbekannter Benutzer
edit.details=Details bearbeiten
notify.password.expiration=Das Passwort wird ung\u00FCltig zum

# --------------------------------------------------
# userCredentials
# --------------------------------------------------
account.creation=Kontoerstellung
last.login=Letzte Anmeldung
last.password.change=Letzte \u00C4nderung des Passwortes

# --------------------------------------------------
# assignments
# --------------------------------------------------
assignments.page.title=[Admin] Benutzer bearbeiten
assignments.section.title=[Admin] Benutzerrollen
assignments.no.roles=Noch keinen Rollen zugewiesen
assignments.available.roles=Verf\u00FCgbare Rollen
assignments.assigned.roles=Zugewiesene Rollen
assignments.submit=\u00DCbertragen
assignments.reset=Zur\u00FCcksetzen
assignments.add.roles=Ausgew\u00E4hlte Rollen hinzuf\u00FCgen
assignments.remove.roles=Ausgew\u00E4hlte Rollen entfernen
assignments.no.roles.to.grant=Keine Rollen zur Zuweisung verf\u00FCgbar

# --------------------------------------------------
# createAdmin
# --------------------------------------------------
create.admin.page.title=Administrator anlegen
create.admin.section.title=Administrator anlegen
create.admin=Administrator anlegen

# --------------------------------------------------
# operationList
# --------------------------------------------------
operation.list.page.title=[Admin] Liste der Operationen
operation.list.section.title=[Admin] Liste der Operationen
operation.list.no.operations.available=Keine Operationen verf\u00FCgbar

# --------------------------------------------------
# permissionList
# --------------------------------------------------
permission.list.page.title=[Admin] Liste der Berechtigungen
permission.list.section.title=[Admin] Liste der Berechtigungen
permission.list.no.permissions.available=Keine Berechtigungen verf\u00FCgbar

# --------------------------------------------------
# resourceList
# --------------------------------------------------
resource.list.page.title=[Admin] Liste der Resourcen
resource.list.section.title=[Admin] Liste der Resourcen
resource.list.no.resources.available=Keine Resourcen verf\u00FCgbar

# --------------------------------------------------
# role
# --------------------------------------------------
role.page.title=[Admin] Rollenansicht
role.section.title=Rollen-Bearbeitung
role.assignable=Zuweisbar?
role.currently.assigned.permissions=Aktuell erteilte Berechtigungen:
role.add.new.permission=Neue Berechtigung hinzuf\u00FCgen
role.currently.assigned.roles=Aktuell zugewiesene Rollen:
role.add.sub.role=Kind-Rolle hinzuf\u00FCgen

# --------------------------------------------------
# roleEdit
# --------------------------------------------------
role.edit.no.parent.defined=Keine Eltern-Rolle f\u00FCr diese Rolle definiert.
role.edit.no.childrole.defined=Keine Kind-Rollen f\u00FCr diese Rolle definiert.
role.edit.users.defined.in.current.role=Benutzer, die der aktuellen Rolle zugeteilt sind
role.edit.users.defined.in.parent.roles=Benutzer mit zugewiesener Eltern-Rolle
role.edit.section.users=Benutzerliste
role.edit.no.user.defined=Keine Benutzer f\u00FCr diese Rolle definiert.
cannot.assign.role=Benutzer ''{0}'' kann nicht aktualisiert werden: {1}

# --------------------------------------------------
# roleCreate
# --------------------------------------------------
role.create.page.title=[Admin] Rolle erstellen
role.create.section.title=[Admin] Rolle erstellen
role.create.operation=Operation
role.create.resource=Resource
role.create.no.permissions.defined=Keine Berechtigungen f\u00FCr diese Rolle definiert.
role.create.add.permission=Berechtigung hinzuf\u00FCgen

# --------------------------------------------------
# roleList
# --------------------------------------------------
role.list.page.title=[Admin] Liste der Rollen
role.list.section.title=[Admin] Liste der Rollen
role.list.no.roles.available=Keine Rollen verf\u00FCgbar

# --------------------------------------------------
# roleModel
# --------------------------------------------------
role.model.page.title=[Admin] Rollen-Modell
role.model.section.title=[Admin] Rollen-Modell
role.model.message=Dies sind die dem Rollen-Verwalter bekannten Resourcen, Operationen, Rollen und Rollen-Schablonen.
role.model.id=Bezeichner
role.model.name=Name
role.model.name.prefix=Prefix
role.model.permanent=Permanent
role.model.assignable=Erteilbar
role.model.delimeter=Trennzeichen
role.model.operation.id=Operations-Bezeichner
role.model.resource.id=Resource-Bezeichner
role.model.role.id=Rollen-Bezeichner
role.model.parent.roles=Eltern-Rollen
role.model.child.roles=Kind-Rollen
role.model.templates=Schablonen
role.model.template.id=Schablonen-Bezeichner
role.model.parent.templates=Eltern-Schablonen
role.model.child.templates=Kind-Schablonen

# --------------------------------------------------
# roleSummary
# --------------------------------------------------
role.summary.page.title=[Admin] Rollen\u00FCbersicht
role.summary.section.title=[Admin] Rollen\u00FCbersicht

# --------------------------------------------------
# systemInformation
# --------------------------------------------------
system.info.page.title=[Admin] System-Informationen
system.info.section.title=[Admin] Informationen zum Sicherheits-System

# --------------------------------------------------
# userCreate
# --------------------------------------------------
user.create.page.title=[Admin] Benutzer anlegen
user.create.section.title=[Admin] Benutzer anlegen
user.create=Benutzer anlegen

# --------------------------------------------------
# userDelete
# --------------------------------------------------
user.delete.page.title=[Admin] Benutzer l\u00F6schen
user.delete.section.title=[Admin] Benutzer l\u00F6schen
user.delete.message=Der folgende Benutzer wird gel\u00F6scht werden
user.delete=Benutzer l\u00F6schen

# --------------------------------------------------
# userEdit
# --------------------------------------------------
user.edit.page.title=[Admin] Benutzer bearbeiten
user.edit.section.title=[Admin] Benutzer bearbeiten
user.edit.locked.user=Gesperrter Benutzer
user.edit.force.user.change.password=Benutzer auffordern das Passwort zu \u00E4ndern
user.edit.roles=Rollen bearbeiten

# --------------------------------------------------
# userFind
# --------------------------------------------------
user.find=Benutzer finden

# --------------------------------------------------
# userList
# --------------------------------------------------
user.list.page.title=[Admin] Liste der Benutzer
user.list.section.title=[Admin] Liste der zur Rolle ''{0}'' zugewiesenen Benutzer:
user.list.permanent=Permanent
user.list.validated=\u00DCberpr\u00FCft
user.list.locked=Gesperrt
user.list.tasks=Vorg\u00E4nge
user.list.tools=Werkzeuge
user.list.reports=Reports
user.list.message=Die folgenden Werkzeuge stehen Administratoren zur Bearbeitung von Benutzern zur Verf\u00FCgung.
user.list.create.new.user=Neuen Benutzer anlegen
user.list.show.users.in.role=Zeige Benutzer mit Rolle
user.list.types=Typen
