#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.

#
# Web Console strings for reference all strings here are commented.
# This file may be used to produce a translation of the strings
#
# Note that properties files are ISO-8859-1 encoded. To provide translations
# for languages requiring different character encodings, you may use the
# native2ascii Maven Plugin from http://mojo.codehaus.org/native2ascii-maven-plugin/
# to translate the natively encoded files to ISO-8859-1 during bundle build
#
# Translations requiring non-ISO-8859-1 encoding are placed in the
# src/main/native2ascii/OSGI-INF/l10n folder and are converted using said
# plugin while building the bundle
#

# Common UI
reload=Aktualisieren
change=Wechseln
abort=Abbrechen
back=Zurück
id=Id
type=Typ
type_s=Typ(en)
bundle=Bundle
version=Version
help=Hilfe
start=Starten
stop=Stoppen
save=Speichern
reset=Zurücksetzen
delete=Löschen
refresh=Aktualisieren

# VMStat plugin
vmstat.pluginTitle=System Information
vmstat.stopped=Framework ist gestoppt.
vmstat.restarting=Framework wurde neu gestartet. Bitte warten ...
vmstat.reloading.in=Starte neu in 
vmstat.running=System ist aktiv!
vmstat.sl.title=Start Level Information:
vmstat.sl.system=System Start Level
vmstat.sl.bundle=Default Bundle Start Level
vmstat.info.title=Server Information:
vmstat.lastStarted=Letzter Start
vmstat.framework=Framework
vmstat.shutdown.in=Stoppe in 
vmstat.java.title=Java Information:
vmstat.java.runtime=Java Runtime
vmstat.java.jvm=Java Virtual Machine
vmstat.mem.total=Total Hauptspeicher
vmstat.mem.used=Benutzter Hauptspeicher
vmstat.mem.free=Freier Hauptspeicher
vmstat.gc.title=Garbage Collection
vmstat.gc.button=Starte

# Services plugin
services.pluginTitle=Dienste
services.details.hide=Verstecke Details
services.details.tip=Details
services.statusline=Dienst Information: total {0} Dienst(e).
services.caption=Dienste

# Log plugin
log.pluginTitle=Log Service
log.status.ok=Log Service ist aktiv.
log.status.missing=Log Service ist nicht installiert/aktiv.
log.severity.label=Minimaler Level:
log.received=Empfangen
log.level=Level
log.message=Meldung
log.service=Dienst
log.exception=Exception
log.level.error=Fehler
log.level.warn=Warnungen
log.level.info=Informationen
log.level.debug=Debug

# Deployment Admin plugin
deployment.pluginTitle=Deployment Packages
deployment.status.no_data=Kein Deployment Package ist installiert!
deployment.status.no_service=Deployment Admin Dienst ist nicht instaliert/aktiv!
deployment.status.ok=Deployment Admin Dienst ist aktiv
deployment.details=Details
deployment.actions=Aktionen
deployment.install_update=Installieren oder Aktualisieren
deployment.package.name=Package Name
deployment.bundles=Bundles
deployment.uninstall=Deinstallieren

# Shell plugin
shell.pluginTitle=Shell
shell.clear=Löschen
shell.status=Nutzen Sie das Eingabefeld um Shell Kommandos auszuführen.

# Bundles plugin
bundles.pluginTitle=Bundles
bundles.statline=Bundle information: {0} Bundles total, {1} aktive Bundles, {2} aktive Fragmente, {3} aufgelöste Bundles, {4} installierte Bundles.
bundles.install_or_update=Installieren oder Aktualisieren
bundles.install_update=Installieren/Aktualisieren...
bundles.refreshPkg=Packages aktualisieren
bundles.name=Name
bundles.name.symb=Symbolischer Name
bundles.category=Kategorie
bundles.status=Status
bundles.actions=Aktionen
# bundle details
bundles.location=Bundle Location
bundles.lastMod=Letzte Bundle Status Änderung
bundles.doc=Bundle Dokumentation
bundles.vendor=Vendor
bundles.copyright=Copyright
bundles.description=Beschreibung
bundles.startlevel=Start Level
bundles.classpath=Bundle Classpath
bundles.pkg.exported=Exportierte Packages
bundles.pkg.imported=Importierte Packages
bundles.pkg.importingBundles=Importierende Bundles
bundles.manifest.headers=Manifest Headers
bundles.hosts=Host Bundles
bundles.framents=Gebundene Fragmente
# actions
bundles.update=Aktualisieren
bundles.uninstall=Deinstallieren
bundles.refreshImports=Package Imports aktualisieren
# upload form
bundles.upload.caption=Bundles hochladen / installieren
bundles.upload.start=Start Bundle
bundles.upload.level=Start Level
# filter
bundles.filter.apply=Filter anwenden
bundles.filter.clear=Filter löschen
bundles.filter.help=Ein String oder regulärer Ausdruck, der mit den folgenden Feldern verglichen wird: Bundle Id, Name, symbolischer Name oder Version. Wenn "Filter All" verwendet wird, muss der Wert ein gültier LDAP String sein.
bundles.filter.ldap=Filter auf Header anwenden
bundles.filter.ldap.tip=Wenn angeklickt wird ein Vergleich gegen *alle* Bundle Manifest Header durchgeführt. Der Ausdruck muss ein gültiger OSGi Filter sein.
# states
bundles.state.1=Deinstalliert
bundles.state.2=Installiert
bundles.state.4=Aufgelöst
bundles.state.8=Am Starten
bundles.state.16=Am Stoppen
bundles.state.32=Aktiv
bundles.state.unknown=Unbekannter Status: {0}
bundles.state.fragment=Fragment


# Components plugin
scr.pluginTitle=Komponenten
scr.status.no_service=Apache Felix Declarative Service ist Voraussetzung für diese Funktionalität!
scr.status.no_components=Zur Zeit sind keine Komponenten installiert!
scr.status.ok=Anzahl installierter Komponenten: {0}
scr.action.enable=Aktivieren
scr.action.disable=Deaktivieren
scr.action.configure=Konfigurieren
scr.prop.bundle=Bundle
scr.prop.defstate=Default Status
scr.prop.activation=Aktivierung
scr.prop.properties=Eigenschaften
scr.serv.type=Dienst Typ
scr.serv=Dienste
scr.title.actions=Aktionen
scr.title.status=Status
scr.title.name=Name


# Configuration plugin
config.pluginTitle=Konfiguration
config.status.ok=Configuration Admin Dienst ist aktiv.
config.status.missing=Configuration Admin Dienst ist nicht installiert/aktiv.
config.properties=Eigenschaften
config.properties.enter=Bitte Name-Wert Paare als Konfiguration eingeben
config.info.title=Konfigurations Eigenschaften
config.info.pid=Identität (PID)
config.info.fpid=Factory Identität (Factory PID)
config.info.binding=Gebundenes Bundle
config.info.unbound=Ungebundene oder neue Konfiguration 
config.unbind.btn=Lösen
config.unbind.tip=Konfiguration vom Bundle lösen
config.del.ask=Sind Sie sicher, dass Sie diese Konfiguration löschen wollen ?
config.del.config=Konfiguration: 
config.del.bundle=Bundle: 
config.unbind.ask=Sind Sie sicher, dass Sie diese Konfiguration vom Bundle lösen wollen ?
config.factories.title=Factory Konfigurationen
config.configurations.title=Konfigurationen
config.create.tip=Erstelle eine neue Factory Konfiguration
config.edit.tip=Konfiguration bearbeiten
config.title.actions=Aktionen
config.title.bundle=Bundle
config.title.name=Name

# License plugin
license.pluginTitle=Lizenzen
license.status.ok=Die folgenden Bundles enthalten Lizenz Informationen.
license.status.none=Keine Bundles mit Lizenz Informationen installiert
license.resources=Bundle Resourcen: 
license.resources.embedded=Eingebettet {0}: 

# OBR Plugin
obr.pluginTitle=OSGi Repository
obr.status.ok=Der Apache Bundle Repository Service ist aktiv und bereit.
obr.status.no=Der Apache Bundle Repository Service ist nicht aktiv!
obr.version.select=Wähle Version...
obr.repo.title=Bundle Repositories
obr.action.add=Hinzufügen
obr.action.search=Suchen
obr.action.deploy=Ausgewählte Installieren
obr.action.deploystart=Ausgewählte Installieren und Starten
obr.repo.name=Name
obr.repo.url=URL
obr.repo.lastModified=Letzte Änderung
obr.repo.actions=Aktionen
obr.res.title=Verfügbare Resourcen
obr.res.name=Resource Name
obr.res.installedVer=Installierte Version

# Configuration Status plugin
configStatus.pluginTitle=Configuration Status
configStatus.wait=Bitte warten...
configStatus.wait.msg=Laden...
