#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR
# The UI text in the XSL stylesheets.

selectedConfigurationText=Die ausgew\u00e4hlte Konfiguration wird im folgenden Verzeichnis ver\u00f6ffentlicht
detailInfoText=Detailinformationen finden Sie in den folgenden Dateien im Ordner 'logs'
showErrorText=Alle w\u00e4hrend der Ver\u00f6ffentlichung aufgetretenen Fehler anzeigen
logsWarningText=Es werden alle Warnungen protokolliert, z. B. Warnung bez\u00fcglich fehlender Referenzen, defekter Links und nicht ver\u00f6ffentlichter Kategorien ohne kategorisierte Elemente.
pagesNotInstalledText=Im Ordner 'pages_not_installed' finden Sie alle in dieser Konfiguration fehlenden Referenzen.
invalidExternalText=Es wurden ung\u00fcltige externe Links in der Konfiguration gefunden
ownerElementText=Eignerelement
nonExistingText=Das Eignerelement verweist auf nicht vorhandene Elemente. M\u00f6glicherweise wurden die Elemente nach dem Erstellen der Element-Links aus der Bibliothek gel\u00f6scht. Suchen Sie die Eignerelemente und korrigieren Sie die ung\u00fcltigen Referenzen.
missingReferencesTitleText=Fehlende Referenzen
missingReferencesText=Die Eignerelemente verweisen auf fehlende Elemente in der ausgew\u00e4hlten Konfiguration. \u00dcberpr\u00fcfen Sie die abgeschlossene Konfiguration und beheben Sie das Problem mit den fehlenden Referenzen.

missingResourceFilesTitleText=Fehlende Ressourcendateien
missingResourceFilesText=Die Eignerelemente verweisen fehlende Ressourcendateien. Diese Ressourcendateien werden im Inhalt der Elemente oder in den zugeordneten Anh\u00e4ngen referenziert.
missingResourceText=Fehlende Ressource
ownerResourceText=Eignerressource
missingElementText=Fehlendes Element
invalidElementText=Ung\u00fcltiges Element
invalidElementLinksText=Ung\u00fcltige Element-Links
pleaseCheckText=\u00dcberpr\u00fcfen Sie die abgeschlossene Konfiguration und beheben Sie das Problem mit den fehlenden Referenzen.
pleaseFindText=Suchen Sie die Eignerelemente und korrigieren Sie die ung\u00fcltigen Referenzen.
glossaryText=Glossar
indexText=Index
feedbackText=Feedback
aboutText=Informationen
searchText=Suchen
printText=Drucken
summaryText=Zusammenfassung
publishingReportText=Bericht zur Ver\u00f6ffentlichung:
whereAmIText=Aktuelle Position
treeSetsText=Baumstrukturgruppen

searchTitleText=Prozesssuche
label1Text=
label2Text=
label3Text=
lable4Text=
searchButtonText=Suchen
searchExpressionText=* = beliebige Zeichenfolge, ? = beliebiges Zeichen, "" = Ausdruck, AND, OR, NOT = Boolesche Operatoren
detailsText=Details
infoText=Information
messgeText=Nachricht
descriptionText=Beschreibung
