###############################################################################
# Copyright (c) 2001, 2004 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 API and implementation
###############################################################################

title=UDDI

# Nodes
NODE_NAME_UDDI_MAIN=UDDI - Haupt
NODE_NAME_QUERIES_FOLDER=Ausgef\u00fchrte Abfragen
NODE_NAME_PUBLISHED_BUSINESSES_FOLDER=Publizierte Gesch\u00e4fte
NODE_NAME_PUBLISHED_SERVICES_FOLDER=Publizierte Services
NODE_NAME_PUBLISHED_SERVICE_INTERFACES_FOLDER=Publizierte Serviceschnittstellen

# OpenRegistryAction
ALT_OPEN_REGISTRY=Registrierung \u00f6ffnen
FORM_LABEL_OPEN_REGISTRY_DESC=Geben Sie den Namen und die Abfrage-URL der zu \u00f6ffnenden Registrierung an. Bei Auswahl einer bevorzugten Registrierung werden die erforderlichen Informationen automatisch ausgef\u00fcllt. Klicken Sie <strong>Los</strong> an, um die Registrierung zu \u00f6ffnen.
FORM_LABEL_FAVORITE_REGISTRY=Bevorzugte Registrierung
FORM_LABEL_REGISTRY_NAME=Registrierungsname
FORM_LABEL_INQUIRY_URL=Abfrage-URL
FORM_LABEL_CHECK_USER_DEFINED_CATEGORIES=Benutzerdefinierte Kategorien \u00fcberpr\u00fcfen
DEFAULT_REGISTRY_NAME=IBM UDDI-Testregistrierung
MSG_ERROR_INVALID_REGISTRY_NAME=IWAB0136E Geben Sie einen g\u00fcltigen Registrierungsnamen ein.
MSG_ERROR_INVALID_INQUIRY_URL=IWAB0138E Geben Sie eine g\u00fcltige Abfrage-URL ein.
MSG_INFO_REGISTRY_OPENED=IWAB0139I Die Registrierung mit dem Namen %1, die sich unter %2 befindet, wurde erfolgreich ge\u00f6ffnet.
FORM_LABEL_IS_WEBSPHERE_UDDI_REGISTRY=Ist WebSphere die UDDI-Registrierung?
DEFAULT_REGISTRY_NAME_WEBSPHERE=Private UDDI-Registrierung von IBM WebSphere
FORM_LABEL_REGISTRY_HOST=Host
FORM_LABEL_REGISTRY_PORT=Port

# User-defined Categories
FORM_LABEL_ADD_CATEGORY_DATA=<a href="%1">Hier klicken</a>, um die Daten dieser Kategorie zu laden.
FORM_CONTROL_TITLE_CATEGORY_FILE=Name der Kategoriedatendatei
MSG_INFO_NO_USER_DEFINED_CATEGORIES_FOUND=IWAB0371I Es wurden keine benutzerdefinierten Kategorien gefunden.
MSG_INFO_NO_CATEGORY_DATA=IWAB0372I Die Kategoriedaten f\u00fcr %1 sind nicht verf\u00fcgbar oder ung\u00fcltig.
MSG_INFO_USER_DEFINED_CATEGORY_DATA_LOADED=IWAB0373I Die Daten f\u00fcr die benutzerdefinierte Kategorie %1 wurden erfolgreich geladen.
MSG_ERROR_INVALID_USER_DEFINED_CATEGORY_DATA_FILE_KEY=IWAB0374E Ung\u00fcltige Datendatei f\u00fcr benutzerdefinierte Kategorie %1. Es wurde ein Kategorieschl\u00fcssel '%2' gefunden, es wurde jedoch '%3' erwartet.
MSG_ERROR_INVALID_USER_DEFINED_CATEGORY_DATA_FILE_FORMAT=IWAB0473E Unbekanntes Format in Zeile %1 der Datendatei f\u00fcr benutzerdefinierte Kategorie %2. Die Zeile lautet: "%3"
MSG_ERROR_INVALID_USER_DEFINED_CATEGORY_DATA_FILE=IWAB0375E Ung\u00fcltige Datendatei f\u00fcr benutzerdefinierte Kategorie %1.
MSG_ERROR_SAVING_CATEGORY_DATA=IWAB0474E Beim Speichern der Daten f\u00fcr Kategorie %1 ist ein Fehler aufgetreten. Text der Ausnahmebedingung: %2

# UDDI Category Browser
TITLE_CATEGORY_BROWSER=Kategoriebrowser
ALT_CATEGORIES=Kategorien

# Details
ALT_REGISTRY_DETAILS=Registrierung - Details
ALT_BUSINESS_DETAILS=Gesch\u00e4ft - Details
ALT_SERVICE_DETAILS=Service - Details
ALT_SERVICE_INTERFACE_DETAILS=Serviceschnittstelle - Details
FORM_LABEL_DETAILS_EDITABLE=Die Details f\u00fcr <strong>%1</strong> werden unten angezeigt. Es k\u00f6nnen einige Eintr\u00e4ge hinzugef\u00fcgt, entfernt oder ge\u00e4ndert worden sein. F\u00fcr \u00c4nderungen ist m\u00f6glicherweise eine Authentifizierung erforderlich. Weitere Aktionen sind am unteren Ende dieser Seite aufgef\u00fchrt.

# Get
ALT_GET=Empfangen

# Common Form Control Title
FORM_CONTROL_TITLE_NAME_TEXT_VALUE=Name/Wert
FORM_CONTROL_TITLE_DESCRIPTION_TEXT_VALUE=Beschreibungswert
FORM_CONTROL_TITLE_CATEGORY_KEY_NAME=Kategorieschl\u00fcsselname
FORM_CONTROL_TITLE_CATEGORY_KEY_VALUE=Kategorieschl\u00fcsselwert
FORM_CONTROL_TITLE_IDENTIFIER_KEY_NAME=Kennungsschl\u00fcsselname
FORM_CONTROL_TITLE_IDENTIFIER_KEY_VALUE=Kennungsschl\u00fcsselwert
FORM_CONTROL_TITLE_DISCOVERY_URL=Erkennungs-URL

# Find actions
ALT_FIND=Suchen
ALT_SUBQUERY=%1 Unterabfrage suchen
FORM_LABEL_QUERY_NAME=Name dieser Abfrage
DEFAULT_QUERY_NAME=Abfrageergebnisse
DEFAULT_SUBQUERY_NAME=%1 - %2 Unterabfrage
FORM_LABEL_SEARCH_FOR=Suchen nach
FORM_OPTION_BUSINESSES=Gesch\u00e4fte
FORM_OPTION_SERVICES=Services
FORM_OPTION_SERVICE_INTERFACES=Serviceschnittstellen
FORM_LABEL_SEARCH_TYPE=Suchtyp
FORM_RADIO_SIMPLE=Einfach
FORM_RADIO_ADVANCED=Erweitert
FORM_RADIO_UUID=UUID
FORM_LABEL_FIND_BUSINESSES_SIMPLE_DESC=Geben Sie einen Teil oder den vollst\u00e4ndigen Namen eines Gesch\u00e4fts ein, nach dem gesucht werden soll. Das Symbol '%' kann als Platzhalterzeichen f\u00fcr ein beliebiges Zeichen verwendet werden. Klicken Sie <strong>Los</strong> an, um die Suche zu starten.
FORM_LABEL_FIND_ADVANCED_DESC=Geben Sie Werte f\u00fcr einen oder mehrere der nachstehend aufgelisteten Parameter ein. Im Namensfeld der Namenstabelle kann das Symbol '%' als Platzhalterzeichen f\u00fcr ein beliebiges Zeichen verwendet werden. M\u00f6glicherweise ist eine Authentifizierung erforderlich. Klicken Sie <strong>Los</strong> an, um die Suche zu starten.
FORM_LABEL_FIND_BUSINESS_UUID_DESC=Geben Sie die UUID des Gesch\u00e4fts ein, nach der gesucht werden soll. Klicken Sie <strong>Los</strong> an, um die Suche zu starten.
FORM_LABEL_NAMES=Namen
FORM_LINK_ADD=Hinzuf\u00fcgen
FORM_LINK_GET=Empfangen
FORM_LINK_FIND=Suchen
FORM_LINK_REMOVE=Entfernen
FORM_LABEL_OWNED=Mit Eigner
FORM_LABEL_PUBLISH_URL=Publizierungs-URL
FORM_LABEL_USERID=Benutzer-ID
FORM_LABEL_PASSWORD=Kennwort
FORM_LABEL_LANGUAGE=Sprache
FORM_LABEL_NAME=Name
FORM_LABEL_DESCRIPTION=Beschreibung
FORM_OPTION_LANGUAGE_EN=Englisch
FORM_OPTION_LANGUAGE_AA=Afar
FORM_OPTION_LANGUAGE_AB=Abchasisch
FORM_OPTION_LANGUAGE_AF=Afrikaans
FORM_OPTION_LANGUAGE_AM=Amharic
FORM_OPTION_LANGUAGE_AR=Arabisch
FORM_OPTION_LANGUAGE_AS=Assamese
FORM_OPTION_LANGUAGE_AY=Aymara
FORM_OPTION_LANGUAGE_AZ=Aserbaidschanisch
FORM_OPTION_LANGUAGE_BA=Bachkir
FORM_OPTION_LANGUAGE_BE=Wei\u00dfrussisch
FORM_OPTION_LANGUAGE_BG=Bulgarisch
FORM_OPTION_LANGUAGE_BH=Bihari
FORM_OPTION_LANGUAGE_BI=Bislama
FORM_OPTION_LANGUAGE_BN=Bengali; Bangla
FORM_OPTION_LANGUAGE_BO=Tibetisch
FORM_OPTION_LANGUAGE_BR=Bretonisch
FORM_OPTION_LANGUAGE_CA=Katalanisch
FORM_OPTION_LANGUAGE_CO=Korsisch
FORM_OPTION_LANGUAGE_CZ=Tschechisch
FORM_OPTION_LANGUAGE_CY=Walisisch
FORM_OPTION_LANGUAGE_DA=D\u00e4nisch
FORM_OPTION_LANGUAGE_DE=Deutsch
FORM_OPTION_LANGUAGE_DZ=Bhutani
FORM_OPTION_LANGUAGE_EL=Griechisch
FORM_OPTION_LANGUAGE_EO=Esperanto
FORM_OPTION_LANGUAGE_ES=Spanisch
FORM_OPTION_LANGUAGE_ET=Estonisch
FORM_OPTION_LANGUAGE_EU=Baskisch
FORM_OPTION_LANGUAGE_FA=Persisch
FORM_OPTION_LANGUAGE_FI=Finnisch
FORM_OPTION_LANGUAGE_FJ=Fidschi
FORM_OPTION_LANGUAGE_FO=F\u00e4r\u00f6isch
FORM_OPTION_LANGUAGE_FR=Franz\u00f6sisch
FORM_OPTION_LANGUAGE_FY=Friesisch
FORM_OPTION_LANGUAGE_GA=Irisch
FORM_OPTION_LANGUAGE_GD=Schottisches G\u00e4lisch
FORM_OPTION_LANGUAGE_GL=Galizisch
FORM_OPTION_LANGUAGE_GN=Guarani
FORM_OPTION_LANGUAGE_GU=Gujarati
FORM_OPTION_LANGUAGE_HA=Haussa
FORM_OPTION_LANGUAGE_HI=Hindi
FORM_OPTION_LANGUAGE_HR=Kroatisch
FORM_OPTION_LANGUAGE_HU=Ungarisch
FORM_OPTION_LANGUAGE_HY=Armenisch
FORM_OPTION_LANGUAGE_IA=Interlingua
FORM_OPTION_LANGUAGE_IE=Interlingue
FORM_OPTION_LANGUAGE_IK=Inupiaq
FORM_OPTION_LANGUAGE_IN=Indonesisch
FORM_OPTION_LANGUAGE_IS=Isl\u00e4ndisch
FORM_OPTION_LANGUAGE_IT=Italienisch
FORM_OPTION_LANGUAGE_IW=Hebr\u00e4isch
FORM_OPTION_LANGUAGE_JA=Japanisch
FORM_OPTION_LANGUAGE_JI=Jiddisch
FORM_OPTION_LANGUAGE_JW=Javanisch
FORM_OPTION_LANGUAGE_KA=Georgisch
FORM_OPTION_LANGUAGE_KK=Kasachisch
FORM_OPTION_LANGUAGE_KL=Gr\u00f6nl\u00e4ndisch
FORM_OPTION_LANGUAGE_KM=Kambodschanisch
FORM_OPTION_LANGUAGE_KN=Kannada
FORM_OPTION_LANGUAGE_KO=Koreanisch
FORM_OPTION_LANGUAGE_KS=Kaschmiri
FORM_OPTION_LANGUAGE_KU=Kurdisch
FORM_OPTION_LANGUAGE_KY=Kirgisisch
FORM_OPTION_LANGUAGE_LA=Latein
FORM_OPTION_LANGUAGE_LN=Lingala
FORM_OPTION_LANGUAGE_LO=Laotisch
FORM_OPTION_LANGUAGE_LT=Litauisch
FORM_OPTION_LANGUAGE_LV=Lettisch
FORM_OPTION_LANGUAGE_MG=Malagassi
FORM_OPTION_LANGUAGE_MI=Maori
FORM_OPTION_LANGUAGE_MK=Mazedonisch
FORM_OPTION_LANGUAGE_ML=Malayalam
FORM_OPTION_LANGUAGE_MN=Mongolisch
FORM_OPTION_LANGUAGE_MO=Moldavisch
FORM_OPTION_LANGUAGE_MR=Marathi
FORM_OPTION_LANGUAGE_MS=Malaiisch
FORM_OPTION_LANGUAGE_MT=Maltesisch
FORM_OPTION_LANGUAGE_MY=Burmesisch
FORM_OPTION_LANGUAGE_NA=Nauruanisch
FORM_OPTION_LANGUAGE_NE=Nepali
FORM_OPTION_LANGUAGE_NL=Niederl\u00e4ndisch
FORM_OPTION_LANGUAGE_NO=Norwegisch
FORM_OPTION_LANGUAGE_OC=Okzitanisch
FORM_OPTION_LANGUAGE_OM=(Afan) Oromo
FORM_OPTION_LANGUAGE_OR=Oriya
FORM_OPTION_LANGUAGE_PA=Punjabi
FORM_OPTION_LANGUAGE_PL=Polnisch
FORM_OPTION_LANGUAGE_PS=Paschtu
FORM_OPTION_LANGUAGE_PT=Portugiesisch
FORM_OPTION_LANGUAGE_QU=Quechua
FORM_OPTION_LANGUAGE_RM=R\u00e4toromanisch
FORM_OPTION_LANGUAGE_RN=Kirundi
FORM_OPTION_LANGUAGE_RO=Rum\u00e4nisch
FORM_OPTION_LANGUAGE_RU=Russisch
FORM_OPTION_LANGUAGE_RW=Kinyarwanda
FORM_OPTION_LANGUAGE_SA=Sanskrit
FORM_OPTION_LANGUAGE_SD=Sindhi
FORM_OPTION_LANGUAGE_SG=Sangro
FORM_OPTION_LANGUAGE_SH=Serbokroatisch
FORM_OPTION_LANGUAGE_SI=Singhalesisch
FORM_OPTION_LANGUAGE_SK=Slowakisch
FORM_OPTION_LANGUAGE_SL=Slowenisch
FORM_OPTION_LANGUAGE_SM=Samoanisch
FORM_OPTION_LANGUAGE_SN=Shona
FORM_OPTION_LANGUAGE_SO=Somali
FORM_OPTION_LANGUAGE_SQ=Albanisch
FORM_OPTION_LANGUAGE_SR=Serbisch
FORM_OPTION_LANGUAGE_SS=Siswati
FORM_OPTION_LANGUAGE_ST=Sesotho
FORM_OPTION_LANGUAGE_SU=Sundanesisch
FORM_OPTION_LANGUAGE_SV=Schwedisch
FORM_OPTION_LANGUAGE_SW=Suaheli
FORM_OPTION_LANGUAGE_TA=Tamil
FORM_OPTION_LANGUAGE_TE=Tegulu
FORM_OPTION_LANGUAGE_TG=Tajik
FORM_OPTION_LANGUAGE_TH=Thai
FORM_OPTION_LANGUAGE_TI=Tigrinja
FORM_OPTION_LANGUAGE_TK=Turkmenisch
FORM_OPTION_LANGUAGE_TL=Tagalog
FORM_OPTION_LANGUAGE_TN=Setswana
FORM_OPTION_LANGUAGE_TO=Tonga
FORM_OPTION_LANGUAGE_TR=T\u00fcrkisch
FORM_OPTION_LANGUAGE_TS=Tsonga
FORM_OPTION_LANGUAGE_TT=Tatarisch
FORM_OPTION_LANGUAGE_TW=Twi
FORM_OPTION_LANGUAGE_UK=Ukrainisch
FORM_OPTION_LANGUAGE_UR=Urdu
FORM_OPTION_LANGUAGE_UZ=Usbekisch
FORM_OPTION_LANGUAGE_VI=Vietnamesisch
FORM_OPTION_LANGUAGE_VO=Volap\u00fck
FORM_OPTION_LANGUAGE_WO=Wolof
FORM_OPTION_LANGUAGE_XH=Xhosa
FORM_OPTION_LANGUAGE_YO=Yoruba
FORM_OPTION_LANGUAGE_ZH=Chinesisch
FORM_OPTION_LANGUAGE_ZU=Zulu
FORM_LABEL_EXACT_NAME_MATCH=Exakte \u00dcbereinstimmung
FORM_LABEL_CASE_SENSITIVE_MATCH=Gro\u00df-/Kleinschreibung
FORM_LABEL_SOUNDEX=Klingt wie
FORM_LABEL_IDENTIFIERS=Kennungen
FORM_LABEL_IDENTIFIER_TYPE=Typ

# Do not translate the two items below.
FORM_OPTION_IDENTIFIER_DUNS=D-U-N-S
FORM_OPTION_IDENTIFIER_THOMAS_REGISTRY=Thomas Registry

FORM_LABEL_KEY_NAME=Schl\u00fcsselname
FORM_LABEL_KEY_VALUE=Schl\u00fcsselwert
FORM_LABEL_CATEGORIES=Kategorien
FORM_LABEL_CATEGORY_TYPE=Typ
FORM_OPTION_CATEGORY_NAICS=NAICS
FORM_OPTION_CATEGORY_UNSPSC_73=UNSPSC 7.3
FORM_OPTION_CATEGORY_GEO=GEO
FORM_OPTION_CATEGORY_DWCOMMUNITY=dW Community
FORM_LABEL_BUSINESS_CATEGORIES=Vergleichen mit:
FORM_OPTION_BUSINESSES_ONLY=Nur Gesch\u00e4fte
FORM_OPTION_SERVICES_ONLY=Nur Services
FORM_OPTION_BOTH=Gesch\u00e4fte und Services
FORM_LABEL_DISCOVERYURLS=Erkennungs-URLs
FORM_LABEL_DISCOVERYURL=Erkennungs-URL
FORM_LABEL_FINDQUALIFIERS=Qualifikationsmerkmale suchen
FORM_LABEL_COMBINE_KEYS=Schl\u00fcssel kombinieren:
FORM_OPTION_ANDALLKEYS=Und
FORM_OPTION_ORALLKEYS=Oder
FORM_OPTION_ORLIKEKEYS=Oder \u00e4hnlich
FORM_LABEL_SORT_BY_NAME=Sortieren nach Namen:
FORM_RADIO_SORT_ASC=Aufsteigend
FORM_RADIO_SORT_DESC=Absteigend
FORM_LABEL_SORT_BY_DATE=Sortieren nach Datum:
FORM_LABEL_MAX_SEARCH_SET=Maximale Gr\u00f6\u00dfe der Suchgruppe:
FORM_LABEL_MAX_RESULTS=Maximale Anzahl Suchergebnisse:
FORM_LABEL_FIND_SERVICES_SIMPLE_DESC=Geben Sie einen Teil oder den vollst\u00e4ndigen Namen eines Services ein, nach dem gesucht werden soll. Das Symbol '%' kann als Platzhalterzeichen f\u00fcr ein beliebiges Zeichen verwendet werden. Klicken Sie <strong>Los</strong> an, um die Suche zu starten.
FORM_LABEL_FIND_SERVICE_UUID_DESC=Geben Sie die UUID des Services ein, nach der gesucht werden soll. Klicken Sie <strong>Los</strong> an, um die Suche zu starten.
FORM_LABEL_FIND_SERVICE_INTERFACES_SIMPLE_DESC=Geben Sie einen Teil oder den vollst\u00e4ndigen Namen einer Serviceschnittstelle ein, nach der gesucht werden soll. Das Symbol '%' kann als Platzhalterzeichen f\u00fcr ein beliebiges Zeichen verwendet werden. Klicken Sie <strong>Los</strong> an, um die Suche zu starten.
FORM_LABEL_FIND_SERVICE_INTERFACE_UUID_DESC=Geben Sie die UUID der Serviceschnittstelle ein, nach der gesucht werden soll. Klicken Sie <strong>Los</strong> an, um die Suche zu starten.
FORM_LABEL_SERVICE_INTERFACES=Serviceschnittstellen
FORM_LABEL_UUID_KEY=UUID-Schl\u00fcssel:
FORM_LABEL_USE_SERVICE=Service verwenden
FORM_LABEL_SERVICE=Service
FORM_LABEL_BUSINESS=Gesch\u00e4ft
FORM_LABEL_PUBLISH_ASSERTIONS=Gesch\u00e4ftsbeziehungen
FORM_LABEL_DIRECTION=Richtung
FORM_LABEL_FROM_KEY=Von Schl\u00fcssel
FORM_LABEL_TO_KEY=Zu Schl\u00fcssel
FORM_LABEL_STATUS=Status
FORM_LABEL_ASSERTION_TYPE=Beziehungstyp
FORM_OPTION_ASSERTION_TYPE_PARENT_CHILD=Elter-Kind
FORM_OPTION_ASSERTION_TYPE_PEER_TO_PEER=Peer-Peer
FORM_OPTION_ASSERTION_TYPE_IDENTITY=Identit\u00e4t
FORM_LABEL_ASSERTION_DIRETION_DESC=Bei Verwendung von Richtung <strong>Von</strong> wird eine Gesch\u00e4ftsbeziehung (Publisher Assertion) von diesem Gesch\u00e4ft zum obigen Gesch\u00e4ft erstellt.  Bei Verwendung von Richtung <strong>Zu</strong> wird eine Gesch\u00e4ftsbeziehung vom obigen Gesch\u00e4ft zu diesem Gesch\u00e4ft erstellt.
FORM_OPTION_ASSERTION_DIRECTION_FROM=--->
FORM_OPTION_ASSERTION_DIRECTION_TO=<---
FORM_LABEL_THIS_BUSINESS=Dieses
MSG_ERROR_INVALID_QUERY_NAME=IWAB0140E Geben Sie einen g\u00fcltigen Namen f\u00fcr die Abfrage ein.
MSG_ERROR_INVALID_NAMES=IWAB0141E Geben Sie eine Reihe g\u00fcltiger Namen ein.
MSG_ERROR_INVALID_PUBLISH_URL=IWAB0142E Geben Sie eine g\u00fcltige Publizierungs-URL ein.
MSG_ERROR_INVALID_USERID=IWAB0143E Geben Sie eine g\u00fcltige Benutzer-ID ein.
MSG_ERROR_INVALID_MAX_SEARCH_SET=IWAB0145E Geben Sie eine g\u00fcltige maximale Gr\u00f6\u00dfe f\u00fcr die Suchgruppe ein.
MSG_ERROR_INVALID_MAX_RESULTS=IWAB0146E Geben Sie einen g\u00fcltigen Wert f\u00fcr die maximale Anzahl Suchergebnisse ein.
MSG_INFO_BUSINESSES_FOUND=IWAB0147I Anzahl gefundener Gesch\u00e4fte: %1
MSG_ERROR_NO_BUSINESSES_FOUND=IWAB0148E Keine Gesch\u00e4fte gefunden.
MSG_INFO_SERVICES_FOUND=IWAB0149I Anzahl gefundener Services: %1
MSG_ERROR_NO_SERVICES_FOUND=IWAB0150E Keine Services gefunden.
MSG_ERROR_SINGLE_ITEM=IWAB0151E W\u00e4hlen Sie nur einen Eintrag aus.
MSG_QUESTION_ITEM_REPLACEMENT=Die Auswahl ersetzt ein Element, das sich bereits im Ziel befindet. M\u00f6chten Sie fortfahren?
MSG_INFO_SERVICE_INTERFACES_FOUND=IWAB0152I Anzahl gefundener Serviceschnittstellen: %1
MSG_ERROR_NO_SERVICE_INTERFACES_FOUND=IWAB0153E Keine Serviceschnittstellen gefunden.
MSG_ERROR_NOTHING_SELECTED=IWAB0154E W\u00e4hlen Sie mindestens einen Eintrag aus.
MSG_ERROR_INVALID_UUID_KEY=IWAB0155E Geben Sie einen g\u00fcltigen UUID-Schl\u00fcssel ein.
MSG_ERROR_QUERY_NAME_CONFLICT=IWAB0156E Der Abfragename der Unterabfrage darf nicht mit dem Absender identisch sein.
MSG_ERROR_NO_ITEMS_TO_GET=IWAB0157E Es wurden noch keine Elemente des angegebenen Typs publiziert oder aufgesp\u00fcrt.

# Results
ALT_QUERY_RESULTS=Abfrageergebnisse
FORM_LABEL_SUBQUERY=Die Ergebnisse k\u00f6nnen als Eingabe f\u00fcr eine andere Operation verwendet werden. Klicken Sie den Link <strong>Ziel</strong> oben an, um die Operation anzuzeigen. Ausgew\u00e4hlte Ergebnisse k\u00f6nnen in der Operation verwendet werden, indem Sie den Knopf <strong>\u00dcbertragen</strong> anklicken.
FORM_LABEL_QUERY=W\u00e4hlen Sie ein Ergebnis aus, um weitere Details anzuzeigen, oder w\u00e4hlen Sie eine Ergebnismenge aus, und klicken Sie einen Knopf an, um eine Operation auszuf\u00fchren.
FORM_LINK_TARGET=Ziel
FORM_BUTTON_TRANSFER=\u00dcbertragen
FORM_BUTTON_REFRESH=Aktualisieren
FORM_BUTTON_ADD_TO_FAVORITES=Zu Favoriten hinzuf\u00fcgen
FORM_BUTTON_UNPUBLISH=Publizierung zur\u00fccknehmen
FORM_BUTTON_CLEAR=Inhalt l\u00f6schen

# Publish actions
ALT_PUBLISH=Publizieren
FORM_LABEL_PUBLISH=Publizieren:
FORM_OPTION_BUSINESS=Gesch\u00e4ft
FORM_OPTION_SERVICE=Service
FORM_OPTION_SERVICE_INTERFACE=Serviceschnittstelle
FORM_LABEL_PUBLISH_BUSINESS_SIMPLE_DESC=Geben Sie einen Namen und eine optionale Beschreibung f\u00fcr das zu publizierende Gesch\u00e4ft ein. M\u00f6glicherweise ist eine Authentifizierung erforderlich.
FORM_LABEL_PUBLISH_BUSINESS_ADVANCED_DESC=Geben Sie einen Namen f\u00fcr das zu publizierende Gesch\u00e4ft ein. Es k\u00f6nnen auch weitere Parameter angegeben werden. M\u00f6glicherweise ist eine Authentifizierung erforderlich.
FORM_LABEL_PUBLISH_SERVICE_SIMPLE_DESC=Rufen Sie ein Gesch\u00e4ft ab oder suchen Sie eines, und geben Sie die WSDL-URL, den Namen und eine optionale Beschreibung f\u00fcr den zu publizierenden Service ein. M\u00f6glicherweise ist eine Authentifizierung erforderlich.
FORM_LABEL_PUBLISH_SERVICE_ADVANCED_DESC=Rufen Sie ein Gesch\u00e4ft ab oder suchen Sie eines, und geben Sie die WSDL-URL und einen Namen f\u00fcr den zu publizierenden Service ein. Es k\u00f6nnen auch weitere Parameter angegeben werden. M\u00f6glicherweise ist eine Authentifizierung erforderlich.
FORM_LABEL_BUSINESS_PUBLISH_SERVICE_SIMPLE_DESC=Geben Sie die WSDL-URL, den Namen und eine optionale Beschreibung f\u00fcr den zu publizierenden Service ein. M\u00f6glicherweise ist eine Authentifizierung erforderlich.
FORM_LABEL_BUSINESS_PUBLISH_SERVICE_ADVANCED_DESC=Geben Sie die WSDL-URL und einen Namen f\u00fcr den zu publizierenden Service ein. Es k\u00f6nnen auch weitere Parameter angegeben werden. M\u00f6glicherweise ist eine Authentifizierung erforderlich.
FORM_LABEL_PUBLISH_SERVICE_INTERFACE_SIMPLE_DESC=Geben Sie eine WSDL-URL, einen Namen und eine optionale Beschreibung f\u00fcr die zu publizierende Serviceschnittstelle ein. M\u00f6glicherweise ist eine Authentifizierung erforderlich.
FORM_LABEL_PUBLISH_SERVICE_INTERFACE_ADVANCED_DESC=Geben Sie die WSDL-URL und einen Namen f\u00fcr die zu publizierende Serviceschnittstelle ein. Es k\u00f6nnen auch weitere Parameter angegeben werden. M\u00f6glicherweise ist eine Authentifizierung erforderlich.
FORM_LABEL_PUBLISH_FORM=Publikationsformat
FORM_LABEL_DESCRIPTION=Beschreibung
FORM_LABEL_DESCRIPTIONS=Beschreibungen
MSG_INFO_BUSINESS_PUBLISHED=IWAB0158I Gesch\u00e4ft %1 wurde erfolgreich publiziert.
MSG_INFO_SERVICE_PUBLISHED=IWAB0159I Service %1 wurde erfolgreich publiziert.
MSG_INFO_SERVICE_INTERFACE_PUBLISHED=IWAB0160I Serviceschnittstelle %1 wurde erfolgreich publiziert.
MSG_ERROR_INVALID_NAME=IWAB0161E Geben Sie einen g\u00fcltigen Namen ein.
MSG_ERROR_ROW_BLANK_LANGUAGE=IWAB0250E W\u00e4hlen Sie eine belegte Sprache f\u00fcr %1 in Zeile %2 aus. Nicht belegte Sprachen d\u00fcrfen nur von der ersten Zeile verwendet werden.
MSG_ERROR_ROW_DUPLICATE_LANGUAGE=IWAB0251E \u00c4ndern Sie die Sprache f\u00fcr %1 in Zeile %2. Die aktuelle Sprache wird bereits verwendet.
MSG_ERROR_ROW_INVALID_TEXT=IWAB0252E Geben Sie einen g\u00fcltigen %1 in Zeile %2 ein.
MSG_ERROR_INVALID_WSDL_URL=IWAB0253E Geben Sie eine g\u00fcltige WSDL-URL ein.
MSG_ERROR_NO_NAMES=IWAB0254E F\u00fcgen Sie mindestens einen Namen hinzu.
MSG_ERROR_INVALID_SERVICE=IWAB0255E Geben Sie einen g\u00fcltigen Service an.
MSG_ERROR_INVALID_BUSINESS=IWAB0256E Geben Sie ein g\u00fcltiges Gesch\u00e4ft an.

# Business Publish Service action
ALT_PUBLISH_SERVICE=Service publizieren

# WSDL Browser
TITLE_WSDL_BROWSER=WSDL-Browser - %1
FORM_LABEL_WSDL_SOURCE=W\u00e4hlen Sie eine WSDL-Quelle aus:
FORM_LABEL_WSDL_SOURCE_WEBPROJECTS=Webprojekte
FORM_LABEL_WSDL_SOURCE_FAVORITES=Favoriten
FORM_LABEL_WEB_PROJECT=Webprojekt
FORM_LABEL_WSDL_URL=WSDL-URL
ALT_WSDL_BROWSER=WSDL-Browser

# Details
FORM_LINK_EDIT=Bearbeiten
FORM_LINK_CANCEL=Abbrechen
FORM_LABEL_BUSINESS_KEY=Gesch\u00e4ftsschl\u00fcssel
FORM_LABEL_SERVICE_KEY=Serviceschl\u00fcssel
FORM_LABEL_SERVICE_INTERFACE_KEY=TModel-Schl\u00fcssel
FORM_LABEL_USER_DEFINED_CATEGORIES=Benutzerdefinierte Kategorien
FORM_LABEL_CHECKED=\u00dcberpr\u00fcft
FORM_LABEL_FILE=Datei
MSG_QUESTION_PUBLISH_ITEM=Der Eintrag konnte in der Registrierung nicht gefunden werden. Soll er publiziert werden?
MSG_QUESTION_SERVICE_PUBLISH_BUSINESS=Der Service und sein Gesch\u00e4ft konnten in der Registrierung nicht gefunden werden. Publizierung fortsetzen?
MSG_INFO_BUSINESS_UPDATED=IWAB0257I Gesch\u00e4ft %1 wurde erfolgreich aktualisiert.
MSG_INFO_SERVICE_UPDATED=IWAB0258I Service %1 wurde erfolgreich aktualisiert.
MSG_INFO_SERVICE_INTERFACE_UPDATED=IWAB0259I Serviceschnittstelle %1 wurde erfolgreich aktualisiert.
MSG_INFO_REGISTRY_UPDATED=IWAB0323I Registrierung %1 wurde erfolgreich aktualisiert.

# UnpublishAction
ALT_UNPUBLISH_BUSINESS=Publizierung des Gesch\u00e4fts zur\u00fccknehmen
ALT_UNPUBLISH_SERVICE=Publizierung des Services zur\u00fccknehmen
ALT_UNPUBLISH_SERVICE_INTERFACE=Publizierung der Serviceschnittstelle zur\u00fccknehmen
FORM_LABEL_UNPUBLISH_DESC=Klicken Sie <strong>Los</strong> an, um die Publizierung dieses Objekts zur\u00fcckzunehmen. M\u00f6glicherweise ist eine Authentifizierung erforderlich.
MSG_INFO_BUSINESS_UNPUBLISHED=IWAB0260I Die Publizierung von Gesch\u00e4ft %1 wurde erfolgreich zur\u00fcckgenommen.
MSG_INFO_SERVICE_UNPUBLISHED=IWAB0261I Die Publizierung von Service %1 wurde erfolgreich zur\u00fcckgenommen.
MSG_INFO_SERVICE_INTERFACE_UNPUBLISHED=IWAB0262I Die Publizierung von Serviceschnittstelle %1 wurde erfolgreich zur\u00fcckgenommen.

# Add to WSDL Perspective
ALT_ADD_TO_WSDL_PERSPECTIVE=Zu WSDL-Seite hinzuf\u00fcgen
MSG_INFO_WSDL_ADDED_TO_WSDL_PERSPECTIVE=IWAB0376I %1 wurde erfolgreich zu WSDL-Seite hinzugef\u00fcgt.
MSG_ERROR_WSDL_NOT_ADDED_TO_WSDL_PERSPECTIVE=IWAB0377E %1 konnte nicht zu WSDL-Seite hinzugef\u00fcgt werden.

# Add to Favorites
ALT_ADD_TO_FAVORITES=Zu Favoriten hinzuf\u00fcgen
MSG_INFO_FAVORITE_ADDED=IWAB0263I %1 wurde erfolgreich zu den Favoriten hinzugef\u00fcgt.
MSG_ERROR_FAVORITE_NOT_ADDED=IWAB0264E %1 konnte nicht zu den Favoriten hinzugef\u00fcgt werden.
MSG_ERROR_FAVORITE_ALREADY_EXISTS=IWAB0324E %1 ist bereits in den Favoriten vorhanden.
MSG_QUESTION_OVERWRITE_FAVORITES=Favorit bereits vorhanden.  \u00dcberschreiben?

# Refresh
MSG_INFO_NODE_REFRESHED=IWAB0265I %1 wurde aktualisiert.
MSG_QUESTION_REMOVE_NODE=%1 konnte in der Registrierung nicht gefunden werden. Soll der Knoten gel\u00f6scht werden?

# ManageReferencedServices
ALT_MANAGE_REFERENCED_SERVICES=Services verwalten, auf die Verweise bestehen
FORM_LABEL_MANAGE_REFERENCED_SERVICES_DESC=F\u00fcgen Sie aufgesp\u00fcrte oder publizierte Services zur Liste der Services mit Verweisen hinzu, indem Sie <strong>Services hinzuf\u00fcgen</strong> anklicken. Entfernen Sie ausgew\u00e4hlte Verweise, indem Sie den Knopf <strong>Verweise entfernen</strong> anklicken. F\u00fcr \u00c4nderungen ist m\u00f6glicherweise eine Authentifizierung erforderlich.
FORM_LABEL_REFERENCED_SERVICES=Services, auf die Verweise bestehen
FORM_BUTTON_ADD_SERVICES=Services hinzuf\u00fcgen
FORM_BUTTON_REMOVE_REFERENCES=Verweise entfernen
MSG_ERROR_NO_REFERENCE_SELECTED=IWAB0266E Bevor Sie fortfahren, m\u00fcssen Sie mindestens einen Service ausw\u00e4hlen, auf den Verweise bestehen.
MSG_ERROR_NO_SERVICES=IWAB0267E Bevor Sie fortfahren, m\u00fcssen Sie mindestens einen Service abrufen oder suchen.
MSG_ERROR_SERVICE_NOT_REFERENCED=IWAB0268E Verweis auf Service %1 nicht m\u00f6glich.
MSG_ERROR_REFERENCE_NOT_REMOVED=IWAB0269E Serviceverweis %1 konnte nicht entfernt werden.
MSG_INFO_SERVICE_REFERENCED=IWAB0270I Verweis auf Service %1 erfolgreich.
MSG_INFO_SERVICE_REFERENCE_REMOVED=IWAB0271I Serviceverweis %1 erfolgreich entfernt.

# ManagePublisherAssertions
ALT_MANAGE_PUBLISHER_ASSERTIONS=Gesch\u00e4ftsbeziehungen verwalten
FORM_LABEL_MANAGE_PUBLISHER_ASSERTIONS_DESC=F\u00fcgen Sie aufgesp\u00fcrte oder publizierte Gesch\u00e4fte zur Liste der Gesch\u00e4ftsbeziehungen hinzu, indem Sie <strong> Beziehungen hinzuf\u00fcgen</strong> anklicken. Entfernen Sie ausgew\u00e4hlte Beziehungen, indem Sie <strong>Beziehungen entfernen</strong> anklicken. Vervollst\u00e4ndigen Sie ausgew\u00e4hlte Beziehungen, indem Sie <strong>Beziehungen vervollst\u00e4ndigen</strong> anklicken. Klicken Sie <strong>Beziehungen aktualisieren</strong> an, um die Liste der Beziehungen zu aktualisieren.
FORM_LABEL_INCOMPLETE_ASSERTIONS_VISIBILITY_DESC=Beachten Sie, dass unvollst\u00e4ndige Gesch\u00e4ftsbeziehungen nur vom Eigner des Gesch\u00e4fts angezeigt werden k\u00f6nnen.
FORM_LABEL_BUSINESSES=Gesch\u00e4fte
FORM_BUTTON_SHOW_ALL_PUBLISHER_ASSERTIONS=Beziehungen aktualisieren
FORM_BUTTON_COMPLETE_PUBLISHER_ASSERTIONS=Beziehungen vervollst\u00e4ndigen
FORM_BUTTON_ADD_PUBLISHER_ASSERTIONS=Beziehungen hinzuf\u00fcgen
FORM_BUTTON_REMOVE_PUBLISHER_ASSERTIONS=Beziehungen entfernen
MSG_INFO_PUBLISHER_ASSERTIONS_REFRESHED=IWAB0325I Gesch\u00e4ftsbeziehungen werden aktualisiert.
MSG_ERROR_NO_INCOMPLETE_ASSERTION_SELECTED=IWAB0326E W\u00e4hlen Sie mindestens eine unvollst\u00e4ndige Gesch\u00e4ftsbeziehung aus.
MSG_ERROR_NOT_OWNED_BUSINESS=IWAB0327E Diese Operation kann nicht f\u00fcr ein Gesch\u00e4ft ausgef\u00fchrt werden, das einer anderen Partei geh\u00f6rt.

# GetBusinesses
ALT_GET_BUSINESS=Gesch\u00e4ft abrufen
ALT_GET_BUSINESSES=Gesch\u00e4fte abrufen
NODE_NAME_SERVICE_BUSINESS=Gesch\u00e4ft f\u00fcr Service %1
NODE_NAME_SI_BUSINESSES=Gesch\u00e4fte f\u00fcr Serviceschnittstelle %1
MSG_QUESTION_REMOVE_SERVICE_NODE=Der Service konnte in der Registrierung nicht gefunden werden. Soll dieser Knoten gel\u00f6scht werden?

# GetServiceInterfaces
ALT_GET_SERVICE_INTERFACES=Serviceschnittstellen abrufen
NODE_NAME_SERVICE_SERVICE_INTERFACES=Serviceschnittstelle f\u00fcr Service %1
MSG_QUESTION_GET_SI_REMOVE_SERVICE_NODE=Der Service konnte in der Registrierung nicht gefunden werden. Soll dieser Knoten gel\u00f6scht werden?

# GetServices
ALT_GET_SERVICES=Services abrufen
NODE_NAME_SI_SERVICES=Services f\u00fcr Serviceschnittstelle %1
NODE_NAME_BUSINESS_SERVICES=Services f\u00fcr Gesch\u00e4ft %1
MSG_QUESTION_REMOVE_SI_NODE=Die Serviceschnittstelle konnte in der Registrierung nicht gefunden werden. Soll dieser Knoten gel\u00f6scht werden?
MSG_QUESTION_REMOVE_BUSINESS_NODE=Das Gesch\u00e4ft konnte in der Registrierung nicht gefunden werden. Soll dieser Knoten gel\u00f6scht werden?

# RefreshUDDINodesAction
MSG_ERROR_NODE_DATA_VALIDATION_FAILED=IWAB0272E %1 konnte in der Registrierung nicht gefunden werden.

# Summaries
ALT_SUMMARY_QUERIES=Zusammenfassung der Abfragen
ALT_SUMMARY_BUSINESSES=Zusammenfassung der Abfragen
ALT_SUMMARY_SERVICES=Zusammenfassung der Services
ALT_SUMMARY_SERVICE_INTERFACES=Zusammenfassung der Serviceschnittstellen
FORM_LABEL_QUERIES=Abfragen

# SelectSubQueryItemAction
MSG_QUESTION_ITEM_VALIDATION_FAILED=%1 konnte in der Registrierung nicht gefunden werden. Soll es gel\u00f6scht werden?

# Frame titles
FRAME_TITLE_NAVIGATOR_CONTAINER=Navigator - Container
FRAME_TITLE_NAVIGATOR_TOOLBAR=Navigator - Symbolleiste
FRAME_TITLE_NAVIGATOR_CONTENT=Navigator - Inhalt
FRAME_TITLE_ACTIONS_CONTAINER=Aktionen - Container
FRAME_TITLE_PROPERTIES_CONTAINER=Eigenschaften - Container
FRAME_TITLE_PROPERTIES_TOOLBAR=Eigenschaften - Symbolleiste
FRAME_TITLE_PROPERTIES_CONTENT=Eigenschaften - Inhalt
FRAME_TITLE_STATUS_CONTAINER=Status - Container
FRAME_TITLE_STATUS_TOOLBAR=Status - Symbolleiste
FRAME_TITLE_STATUS_CONTENT=Status - Inhalt
FRAME_TITLE_UDDI_PERSPECTIVE_CONTENT=UDDI-Seite - Inhalt
FRAME_TITLE_CATEGORIES_WORKAREA=Kategorien - Arbeitsbereich
FRAME_TITLE_CATEGORIES_TOOLBAR=Kategorien - Symbolleiste
FRAME_TITLE_CATEGORIES_CONTENT=Kategorien - Inhalt
FRAME_TITLE_WSDL_TOOLBAR=WSDL-Browser - Symbolleiste
FRAME_TITLE_WSDL_CONTENT=WSDL-Browser - Inhalt

# Form titles
FORM_TITLE_BUSINESS_DETAILS=Formular f\u00fcr Gesch\u00e4ftsdetails
FORM_TITLE_BUSINESS_PUBLISH_SERVICE=Formular zur Publizierung eines Gesch\u00e4ftsservices
FORM_TITLE_GET_FORM=Formular zum Treffen einer Auswahl aus aufgesp\u00fcrten und publizierten Objekten
FORM_TITLE_ITEMS_SUMMARY=Formular f\u00fcr Zusammenfassung von Eintr\u00e4gen
FORM_TITLE_MANAGE_PUBLISHER_ASSERTIONS=Formular zum Verwalten von Gesch\u00e4ftsbeziehungen
FORM_TITLE_MANAGE_REFERENCED_SERVICES=Formular zum Verwalten von Services, auf die Verweise bestehen
FORM_TITLE_OPEN_REGISTRY=Registrierungsformular \u00f6ffnen
FORM_TITLE_REGISTRY_DETAILS=Formular f\u00fcr Registrierungsdetails
FORM_TITLE_REGISTRY_PUBLISH=Formular zur Publizierung einer Registrierung
FORM_TITLE_REGISTRY_FIND=Formular zum Suchen nach einer Registrierung
FORM_TITLE_RESULTS=Formular f\u00fcr Ergebnisse
FORM_TITLE_SERVICE_DETAILS=Formular f\u00fcr Servicedetails
FORM_TITLE_SERVICE_INTERFACE_DETAILS=Formular f\u00fcr Serviceschnittstellendetails
FORM_TITLE_UNPUBLISH=Formular zum Zur\u00fccknehmen einer Publizierung
