###############################################################################
# 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 principale
NODE_NAME_QUERIES_FOLDER=Query eseguite
NODE_NAME_PUBLISHED_BUSINESSES_FOLDER=Business pubblicati
NODE_NAME_PUBLISHED_SERVICES_FOLDER=Servizi pubblicati
NODE_NAME_PUBLISHED_SERVICE_INTERFACES_FOLDER=Interfacce di servizio pubblicate

# OpenRegistryAction
ALT_OPEN_REGISTRY=Apri registro
FORM_LABEL_OPEN_REGISTRY_DESC=Specificare il nome e l'URL di richiesta del registro da aprire. La selezione di un registro preferito consentir\u00e0 di inserire automaticamente le informazioni richieste. Premere <strong>Vai</strong> per aprire il registro.
FORM_LABEL_FAVORITE_REGISTRY=Registro preferito
FORM_LABEL_REGISTRY_NAME=Nome registro
FORM_LABEL_INQUIRY_URL=URL di richiesta
FORM_LABEL_CHECK_USER_DEFINED_CATEGORIES=Ricerca categorie definite dall'utente
DEFAULT_REGISTRY_NAME=Registro di prova UDDI IBM
MSG_ERROR_INVALID_REGISTRY_NAME=IWAB0136E Immettere un nome registro valido.
MSG_ERROR_INVALID_INQUIRY_URL=IWAB0138E Immettere un URL di richiesta valido.
MSG_INFO_REGISTRY_OPENED=IWAB0139I Il registro denominato %1 situato su %2 \u00e8 stato aperto correttamente.
FORM_LABEL_IS_WEBSPHERE_UDDI_REGISTRY=Si tratta del registro UDDI WebSphere?
DEFAULT_REGISTRY_NAME_WEBSPHERE=Registro UDDI privato IBM WebSphere
FORM_LABEL_REGISTRY_HOST=Host
FORM_LABEL_REGISTRY_PORT=Porta

# User-defined Categories
FORM_LABEL_ADD_CATEGORY_DATA=<a href="%1">Fare clic qui</a> per caricare i dati di questa categoria.
FORM_CONTROL_TITLE_CATEGORY_FILE=Nome file dati categoria
MSG_INFO_NO_USER_DEFINED_CATEGORIES_FOUND=IWAB0371I Non \u00e8 stata rilevata alcuna categoria definita dall'utente.
MSG_INFO_NO_CATEGORY_DATA=IWAB0372I I dati della categoria per %1 non sono disponibili o non sono validi.
MSG_INFO_USER_DEFINED_CATEGORY_DATA_LOADED=IWAB0373I I dati per la categoria %1 definita dall'utente sono stati caricati correttamente.
MSG_ERROR_INVALID_USER_DEFINED_CATEGORY_DATA_FILE_KEY=IWAB0374E File di dati non valido per la categoria %1 definita dall'utente. \u00c8 stata rilevata una chiave di categoria '%2' ma era prevista '%3'.
MSG_ERROR_INVALID_USER_DEFINED_CATEGORY_DATA_FILE_FORMAT=IWAB0473E Formato sconosciuto alla riga: %1 del file di dati per la categoria %2 definita dall'utente. La riga \u00e8: "%3"
MSG_ERROR_INVALID_USER_DEFINED_CATEGORY_DATA_FILE=IWAB0375E File di dati non valido per la categoria %1 definita dall'utente.
MSG_ERROR_SAVING_CATEGORY_DATA=IWAB0474E Si \u00e8 verificato un errore durante il salvataggio dei dati per la categoria %1. Testo eccezione: %2

# UDDI Category Browser
TITLE_CATEGORY_BROWSER=Browser categoria
ALT_CATEGORIES=Categorie

# Details
ALT_REGISTRY_DETAILS=Dettagli registro
ALT_BUSINESS_DETAILS=Dettagli business
ALT_SERVICE_DETAILS=Dettagli servizio
ALT_SERVICE_INTERFACE_DETAILS=Dettagli interfaccia di servizio
FORM_LABEL_DETAILS_EDITABLE=I dettagli per <strong>%1</strong> sono visualizzati in basso. Alcuni elementi possono essere aggiunti, rimossi o modificati. Per le modifiche, potrebbe essere richiesta l'autenticazione. Le altre azioni vengono visualizzate nella parte inferiore di questa pagina.

# Get
ALT_GET=Richiama

# Common Form Control Title
FORM_CONTROL_TITLE_NAME_TEXT_VALUE=Nome valore
FORM_CONTROL_TITLE_DESCRIPTION_TEXT_VALUE=Valore descrizione
FORM_CONTROL_TITLE_CATEGORY_KEY_NAME=Nome chiave categoria
FORM_CONTROL_TITLE_CATEGORY_KEY_VALUE=Valore chiave categoria
FORM_CONTROL_TITLE_IDENTIFIER_KEY_NAME=Nome chiave identificativo
FORM_CONTROL_TITLE_IDENTIFIER_KEY_VALUE=Valore chiave identificativo
FORM_CONTROL_TITLE_DISCOVERY_URL=URL di rilevamento

# Find actions
ALT_FIND=Trova
ALT_SUBQUERY=Trova query secondaria %1
FORM_LABEL_QUERY_NAME=Nome di questa query
DEFAULT_QUERY_NAME=risultati della query
DEFAULT_SUBQUERY_NAME=%1 - %2 query secondaria
FORM_LABEL_SEARCH_FOR=Cerca
FORM_OPTION_BUSINESSES=Business
FORM_OPTION_SERVICES=Servizi
FORM_OPTION_SERVICE_INTERFACES=Interfacce di servizio
FORM_LABEL_SEARCH_TYPE=Tipo di ricerca
FORM_RADIO_SIMPLE=Semplice
FORM_RADIO_ADVANCED=Avanzata
FORM_RADIO_UUID=UUID
FORM_LABEL_FIND_BUSINESSES_SIMPLE_DESC=Immettere il nome parziale o completo di un business da ricercare. Il simbolo '%' pu\u00f2 essere utilizzato come un carattere jolly che corrisponde a qualsiasi carattere. Premere <strong>Vai</strong> per eseguire la ricerca.
FORM_LABEL_FIND_ADVANCED_DESC=Immettere i valori per uno o pi\u00f9 parametri elencati in basso. Il simbolo '%' pu\u00f2 essere utilizzato come un carattere jolly che corrisponde a qualsiasi carattere del campo Nome o della tabella Nomi. Potrebbe essere richiesta l'autenticazione. Premere <strong>Vai</strong> per eseguire la ricerca.
FORM_LABEL_FIND_BUSINESS_UUID_DESC=Immettere l'UUID del business da ricercare. Premere <strong>Vai</strong> per eseguire la ricerca.
FORM_LABEL_NAMES=Nomi
FORM_LINK_ADD=Aggiungi
FORM_LINK_GET=Richiama
FORM_LINK_FIND=Trova
FORM_LINK_REMOVE=Rimuovi
FORM_LABEL_OWNED=Proprietario
FORM_LABEL_PUBLISH_URL=URL di pubblicazione
FORM_LABEL_USERID=ID utente
FORM_LABEL_PASSWORD=Password
FORM_LABEL_LANGUAGE=Lingua
FORM_LABEL_NAME=Nome
FORM_LABEL_DESCRIPTION=Descrizione
FORM_OPTION_LANGUAGE_EN=Inglese
FORM_OPTION_LANGUAGE_AA=Afar
FORM_OPTION_LANGUAGE_AB=Abkhazian
FORM_OPTION_LANGUAGE_AF=Afrikaans
FORM_OPTION_LANGUAGE_AM=Amarico
FORM_OPTION_LANGUAGE_AR=Arabo
FORM_OPTION_LANGUAGE_AS=Assamese
FORM_OPTION_LANGUAGE_AY=Aymara
FORM_OPTION_LANGUAGE_AZ=Azerbaijani
FORM_OPTION_LANGUAGE_BA=Bashkir
FORM_OPTION_LANGUAGE_BE=Bielorusso
FORM_OPTION_LANGUAGE_BG=Bulgaro
FORM_OPTION_LANGUAGE_BH=Bihari
FORM_OPTION_LANGUAGE_BI=Bislama
FORM_OPTION_LANGUAGE_BN=Bengali; Bangla
FORM_OPTION_LANGUAGE_BO=Tibetano
FORM_OPTION_LANGUAGE_BR=Bretone
FORM_OPTION_LANGUAGE_CA=Catalano
FORM_OPTION_LANGUAGE_CO=Corsica
FORM_OPTION_LANGUAGE_CZ=Ceco
FORM_OPTION_LANGUAGE_CY=Gallese
FORM_OPTION_LANGUAGE_DA=Danese
FORM_OPTION_LANGUAGE_DE=Tedesco
FORM_OPTION_LANGUAGE_DZ=Bhutani
FORM_OPTION_LANGUAGE_EL=Greco
FORM_OPTION_LANGUAGE_EO=Esperanto
FORM_OPTION_LANGUAGE_ES=Spagnolo
FORM_OPTION_LANGUAGE_ET=Estone
FORM_OPTION_LANGUAGE_EU=Basco
FORM_OPTION_LANGUAGE_FA=Persiano
FORM_OPTION_LANGUAGE_FI=Finlandese
FORM_OPTION_LANGUAGE_FJ=Fiji
FORM_OPTION_LANGUAGE_FO=Faeroese
FORM_OPTION_LANGUAGE_FR=Francese
FORM_OPTION_LANGUAGE_FY=Frisone
FORM_OPTION_LANGUAGE_GA=Irlandese
FORM_OPTION_LANGUAGE_GD=Scozzese gaelico
FORM_OPTION_LANGUAGE_GL=Galiziano
FORM_OPTION_LANGUAGE_GN=Guarani
FORM_OPTION_LANGUAGE_GU=Gujarati
FORM_OPTION_LANGUAGE_HA=Hausa
FORM_OPTION_LANGUAGE_HI=Hindi
FORM_OPTION_LANGUAGE_HR=Croato
FORM_OPTION_LANGUAGE_HU=Ungherese
FORM_OPTION_LANGUAGE_HY=Armeno
FORM_OPTION_LANGUAGE_IA=Interlingua
FORM_OPTION_LANGUAGE_IE=Interlingue
FORM_OPTION_LANGUAGE_IK=Inupiak
FORM_OPTION_LANGUAGE_IN=Indonesiano
FORM_OPTION_LANGUAGE_IS=Islandese
FORM_OPTION_LANGUAGE_IT=Italiano
FORM_OPTION_LANGUAGE_IW=Ebreo
FORM_OPTION_LANGUAGE_JA=Giapponese
FORM_OPTION_LANGUAGE_JI=Yiddish
FORM_OPTION_LANGUAGE_JW=Giavanese
FORM_OPTION_LANGUAGE_KA=Georgiano
FORM_OPTION_LANGUAGE_KK=Kazako
FORM_OPTION_LANGUAGE_KL=Groenlandese
FORM_OPTION_LANGUAGE_KM=Cambogiano
FORM_OPTION_LANGUAGE_KN=Kannada
FORM_OPTION_LANGUAGE_KO=Coreano
FORM_OPTION_LANGUAGE_KS=Kashmiri
FORM_OPTION_LANGUAGE_KU=Curdo
FORM_OPTION_LANGUAGE_KY=Kirghiz
FORM_OPTION_LANGUAGE_LA=Latino
FORM_OPTION_LANGUAGE_LN=Lingala
FORM_OPTION_LANGUAGE_LO=Laotiano
FORM_OPTION_LANGUAGE_LT=Lituano
FORM_OPTION_LANGUAGE_LV=Lettone
FORM_OPTION_LANGUAGE_MG=Malagasy
FORM_OPTION_LANGUAGE_MI=Maori
FORM_OPTION_LANGUAGE_MK=Macedone
FORM_OPTION_LANGUAGE_ML=Malayalam
FORM_OPTION_LANGUAGE_MN=Mongolo
FORM_OPTION_LANGUAGE_MO=Moldavo
FORM_OPTION_LANGUAGE_MR=Marathi
FORM_OPTION_LANGUAGE_MS=Malese
FORM_OPTION_LANGUAGE_MT=Maltese
FORM_OPTION_LANGUAGE_MY=Burmese
FORM_OPTION_LANGUAGE_NA=Nauru
FORM_OPTION_LANGUAGE_NE=Nepali
FORM_OPTION_LANGUAGE_NL=Olandese
FORM_OPTION_LANGUAGE_NO=Norvegese
FORM_OPTION_LANGUAGE_OC=Occitano
FORM_OPTION_LANGUAGE_OM=(Afan) Oromo
FORM_OPTION_LANGUAGE_OR=Oriya
FORM_OPTION_LANGUAGE_PA=Punjabi
FORM_OPTION_LANGUAGE_PL=Polacco
FORM_OPTION_LANGUAGE_PS=Pashto, Pushto
FORM_OPTION_LANGUAGE_PT=Portoghese
FORM_OPTION_LANGUAGE_QU=Quechua
FORM_OPTION_LANGUAGE_RM=Rhaeto-Romance
FORM_OPTION_LANGUAGE_RN=Kirundi
FORM_OPTION_LANGUAGE_RO=Rumeno
FORM_OPTION_LANGUAGE_RU=Russo
FORM_OPTION_LANGUAGE_RW=Kinyarwanda
FORM_OPTION_LANGUAGE_SA=Sanscrito
FORM_OPTION_LANGUAGE_SD=Sindhi
FORM_OPTION_LANGUAGE_SG=Sangro
FORM_OPTION_LANGUAGE_SH=Serbo-Croato
FORM_OPTION_LANGUAGE_SI=Singalese
FORM_OPTION_LANGUAGE_SK=Slovacco
FORM_OPTION_LANGUAGE_SL=Sloveno
FORM_OPTION_LANGUAGE_SM=Samoano
FORM_OPTION_LANGUAGE_SN=Shona
FORM_OPTION_LANGUAGE_SO=Somalo
FORM_OPTION_LANGUAGE_SQ=Albanese
FORM_OPTION_LANGUAGE_SR=Serbo
FORM_OPTION_LANGUAGE_SS=Siswati
FORM_OPTION_LANGUAGE_ST=Sesotho
FORM_OPTION_LANGUAGE_SU=Sundanese
FORM_OPTION_LANGUAGE_SV=Svedese
FORM_OPTION_LANGUAGE_SW=Swahili
FORM_OPTION_LANGUAGE_TA=Tamil
FORM_OPTION_LANGUAGE_TE=Tegulu
FORM_OPTION_LANGUAGE_TG=Tajik
FORM_OPTION_LANGUAGE_TH=Thai
FORM_OPTION_LANGUAGE_TI=Tigrinya
FORM_OPTION_LANGUAGE_TK=Turkmeno
FORM_OPTION_LANGUAGE_TL=Tagalog
FORM_OPTION_LANGUAGE_TN=Setswana
FORM_OPTION_LANGUAGE_TO=Tonga
FORM_OPTION_LANGUAGE_TR=Turco
FORM_OPTION_LANGUAGE_TS=Tsonga
FORM_OPTION_LANGUAGE_TT=Tatar
FORM_OPTION_LANGUAGE_TW=Twi
FORM_OPTION_LANGUAGE_UK=Ucraino
FORM_OPTION_LANGUAGE_UR=Urdu
FORM_OPTION_LANGUAGE_UZ=Uzbek
FORM_OPTION_LANGUAGE_VI=Vietnamita
FORM_OPTION_LANGUAGE_VO=Volapuk
FORM_OPTION_LANGUAGE_WO=Wolof
FORM_OPTION_LANGUAGE_XH=Xhosa
FORM_OPTION_LANGUAGE_YO=Yoruba
FORM_OPTION_LANGUAGE_ZH=Cinese
FORM_OPTION_LANGUAGE_ZU=Zulu
FORM_LABEL_EXACT_NAME_MATCH=Corrispondenza esatta
FORM_LABEL_CASE_SENSITIVE_MATCH=Sensibile al maiuscolo/minuscolo
FORM_LABEL_SOUNDEX=Suona come
FORM_LABEL_IDENTIFIERS=Identificativi
FORM_LABEL_IDENTIFIER_TYPE=Tipo

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

FORM_LABEL_KEY_NAME=Nome chiave
FORM_LABEL_KEY_VALUE=Valore chiave
FORM_LABEL_CATEGORIES=Categorie
FORM_LABEL_CATEGORY_TYPE=Tipo
FORM_OPTION_CATEGORY_NAICS=NAICS
FORM_OPTION_CATEGORY_UNSPSC_73=UNSPSC 7.3
FORM_OPTION_CATEGORY_GEO=GEO
FORM_OPTION_CATEGORY_DWCOMMUNITY=Comunit\u00e0 dW
FORM_LABEL_BUSINESS_CATEGORIES=Confronta con:
FORM_OPTION_BUSINESSES_ONLY=Solo business
FORM_OPTION_SERVICES_ONLY=Solo servizi
FORM_OPTION_BOTH=Business e servizi
FORM_LABEL_DISCOVERYURLS=URL di rilevamento
FORM_LABEL_DISCOVERYURL=URL di rilevamento
FORM_LABEL_FINDQUALIFIERS=Trova qualificatori
FORM_LABEL_COMBINE_KEYS=Unisci chiavi:
FORM_OPTION_ANDALLKEYS=And
FORM_OPTION_ORALLKEYS=Or
FORM_OPTION_ORLIKEKEYS=Or Like
FORM_LABEL_SORT_BY_NAME=Ordina per nome:
FORM_RADIO_SORT_ASC=Ascendente
FORM_RADIO_SORT_DESC=Discendente
FORM_LABEL_SORT_BY_DATE=Ordina per data:
FORM_LABEL_MAX_SEARCH_SET=Dimensione massima dell'insieme di ricerca:
FORM_LABEL_MAX_RESULTS=Numero massimo di risultati:
FORM_LABEL_FIND_SERVICES_SIMPLE_DESC=Immettere il nome parziale o completo di un service da ricercare. Il simbolo '%' pu\u00f2 essere utilizzato come un carattere jolly che corrisponde a qualsiasi carattere. Premere <strong>Vai</strong> per eseguire la ricerca.
FORM_LABEL_FIND_SERVICE_UUID_DESC=Immettere l'UUID del servizio da ricercare. Premere <strong>Vai</strong> per eseguire la ricerca.
FORM_LABEL_FIND_SERVICE_INTERFACES_SIMPLE_DESC=Immettere il nome parziale o completo di un'interfaccia di servizio da ricercare. Il simbolo '%' pu\u00f2 essere utilizzato come un carattere jolly che corrisponde a qualsiasi carattere. Premere <strong>Vai</strong> per eseguire la ricerca.
FORM_LABEL_FIND_SERVICE_INTERFACE_UUID_DESC=Immettere l'UUID dell'interfaccia di servizio da ricercare. Premere <strong>Vai</strong> per eseguire la ricerca.
FORM_LABEL_SERVICE_INTERFACES=Interfacce di servizio
FORM_LABEL_UUID_KEY=Chiave UUID:
FORM_LABEL_USE_SERVICE=Utilizza servizio
FORM_LABEL_SERVICE=Servizio
FORM_LABEL_BUSINESS=Business
FORM_LABEL_PUBLISH_ASSERTIONS=Relazioni commerciali
FORM_LABEL_DIRECTION=Direzione
FORM_LABEL_FROM_KEY=Da chiave
FORM_LABEL_TO_KEY=A chiave
FORM_LABEL_STATUS=Stato
FORM_LABEL_ASSERTION_TYPE=Tipo di relazione
FORM_OPTION_ASSERTION_TYPE_PARENT_CHILD=Principale-Secondario
FORM_OPTION_ASSERTION_TYPE_PEER_TO_PEER=Peer-Peer
FORM_OPTION_ASSERTION_TYPE_IDENTITY=Identit\u00e0
FORM_LABEL_ASSERTION_DIRETION_DESC=La direzione <strong>Da</strong> crea una relazione commerciale da questo business ai business superiori.  La direzione <strong>A</strong> crea una relazione commerciale dai business superiori a questo business.
FORM_OPTION_ASSERTION_DIRECTION_FROM=--->
FORM_OPTION_ASSERTION_DIRECTION_TO=<---
FORM_LABEL_THIS_BUSINESS=Questo
MSG_ERROR_INVALID_QUERY_NAME=IWAB0140E Immettere un nome valido per la query.
MSG_ERROR_INVALID_NAMES=IWAB0141E Immettere una serie di nomi validi.
MSG_ERROR_INVALID_PUBLISH_URL=IWAB0142E Immettere un URL di pubblicazione valido.
MSG_ERROR_INVALID_USERID=IWAB0143E Immettere un ID utente valido.
MSG_ERROR_INVALID_MAX_SEARCH_SET=IWAB0145E Immettere una dimensione valida per l'insieme di ricerca massimo.
MSG_ERROR_INVALID_MAX_RESULTS=IWAB0146E Immettere una dimensione valida per il numero massimo di risultati.
MSG_INFO_BUSINESSES_FOUND=IWAB0147I Numero di business rilevati: %1
MSG_ERROR_NO_BUSINESSES_FOUND=IWAB0148E Nessun business rilevato.
MSG_INFO_SERVICES_FOUND=IWAB0149I Numero di servizi rilevati: %1
MSG_ERROR_NO_SERVICES_FOUND=IWAB0150E Nessun servizio rilevato.
MSG_ERROR_SINGLE_ITEM=IWAB0151E Selezionare solo un elemento.
MSG_QUESTION_ITEM_REPLACEMENT=la selezione sostituir\u00e0 un elemento gi\u00e0 presente nella destinazione. Continuare?
MSG_INFO_SERVICE_INTERFACES_FOUND=IWAB0152I Numero di interfacce di servizio rilevate: %1
MSG_ERROR_NO_SERVICE_INTERFACES_FOUND=IWAB0153E Nessuna interfaccia di servizio rilevata.
MSG_ERROR_NOTHING_SELECTED=IWAB0154E Selezionare almeno un elemento.
MSG_ERROR_INVALID_UUID_KEY=IWAB0155E Immettere una chiave UUID valida.
MSG_ERROR_QUERY_NAME_CONFLICT=IWAB0156E Il nome query della query secondaria non pu\u00f2 essere uguale al nome del creatore.
MSG_ERROR_NO_ITEMS_TO_GET=IWAB0157E Nessun elemento del tipo specificato \u00e8 stato pubblicato o rilevato.

# Results
ALT_QUERY_RESULTS=Risultati della query
FORM_LABEL_SUBQUERY=I risultati possono essere utilizzati come input di un'altra operazione. Fare clic sul collegamento <strong>destinazione</strong> in alto per visualizzare l'operazione. I risultati selezionati possono essere utilizzati nell'operazione facendo clic sul pulsante <strong>Trasferisci</strong>.
FORM_LABEL_QUERY=Selezionare un risultato per visualizzare ulteriori dettagli o selezionare un insieme di risultati e fare clic su un pulsante per eseguire un'operazione.
FORM_LINK_TARGET=destinazione
FORM_BUTTON_TRANSFER=Trasferisci
FORM_BUTTON_REFRESH=Aggiorna
FORM_BUTTON_ADD_TO_FAVORITES=Aggiungi a preferiti
FORM_BUTTON_UNPUBLISH=Annulla pubblicazione
FORM_BUTTON_CLEAR=Cancella

# Publish actions
ALT_PUBLISH=Pubblica
FORM_LABEL_PUBLISH=Pubblica:
FORM_OPTION_BUSINESS=Business
FORM_OPTION_SERVICE=Servizio
FORM_OPTION_SERVICE_INTERFACE=Interfaccia di servizio
FORM_LABEL_PUBLISH_BUSINESS_SIMPLE_DESC=Immettere un nome e una descrizione facoltativa per il business da pubblicare. Potrebbe essere richiesta l'autenticazione.
FORM_LABEL_PUBLISH_BUSINESS_ADVANCED_DESC=Fornire un nome per il business da pubblicare. \u00c8 possibile specificare anche altri parametri. Potrebbe essere richiesta l'autenticazione.
FORM_LABEL_PUBLISH_SERVICE_SIMPLE_DESC=Richiamare o individuare un business, quindi fornire  l'URL WSDL, il nome e una descrizione facoltativa per il servizio da pubblicare. Potrebbe essere richiesta l'autenticazione.
FORM_LABEL_PUBLISH_SERVICE_ADVANCED_DESC=Richiamare o individuare un business, quindi fornire l'URL WSDL e un nome per il servizio da pubblicare. \u00c8 possibile specificare anche altri parametri. Potrebbe essere richiesta l'autenticazione.
FORM_LABEL_BUSINESS_PUBLISH_SERVICE_SIMPLE_DESC=Fornire l'URL WSDL, il nome e una descrizione facoltativa per il servizio da pubblicare. Potrebbe essere richiesta l'autenticazione.
FORM_LABEL_BUSINESS_PUBLISH_SERVICE_ADVANCED_DESC=Fornire l'URL WSDL e un nome  per il servizio da pubblicare. \u00c8 possibile specificare anche altri parametri. Potrebbe essere richiesta l'autenticazione.
FORM_LABEL_PUBLISH_SERVICE_INTERFACE_SIMPLE_DESC=Immettere un URL WSDL, il nome e una descrizione facoltativa per l'interfaccia di servizio da pubblicare. Potrebbe essere richiesta l'autenticazione.
FORM_LABEL_PUBLISH_SERVICE_INTERFACE_ADVANCED_DESC=Fornire l'URL WSDL e un nome per l'interfaccia di servizio da pubblicare. \u00c8 possibile specificare anche altri parametri. Potrebbe essere richiesta l'autenticazione.
FORM_LABEL_PUBLISH_FORM=Formato pubblicazione
FORM_LABEL_DESCRIPTION=Descrizione
FORM_LABEL_DESCRIPTIONS=Descrizioni
MSG_INFO_BUSINESS_PUBLISHED=IWAB0158I Il business %1 \u00e8 stato pubblicato correttamente.
MSG_INFO_SERVICE_PUBLISHED=IWAB0159I Il servizio %1 \u00e8 stato pubblicato correttamente.
MSG_INFO_SERVICE_INTERFACE_PUBLISHED=IWAB0160I L'interfaccia di servizio %1 non \u00e8 stata pubblicata correttamente.
MSG_ERROR_INVALID_NAME=IWAB0161E Immettere un nome valido.
MSG_ERROR_ROW_BLANK_LANGUAGE=IWAB0250E Selezionare una lingua non vuota per %1 alla riga %2. Solo nella prima riga pu\u00f2 esserci una lingua vuota.
MSG_ERROR_ROW_DUPLICATE_LANGUAGE=IWAB0251E Modificare la lingua per %1 alla riga %2. La lingua corrente \u00e8 gi\u00e0 in uso.
MSG_ERROR_ROW_INVALID_TEXT=IWAB0252E Immettere un %1 valido alla riga %2
MSG_ERROR_INVALID_WSDL_URL=IWAB0253E Immettere un URL WSDL valido.
MSG_ERROR_NO_NAMES=IWAB0254E Aggiungere almeno un nome.
MSG_ERROR_INVALID_SERVICE=IWAB0255E Fornire un servizio valido.
MSG_ERROR_INVALID_BUSINESS=IWAB0256E Fornire un business valido.

# Business Publish Service action
ALT_PUBLISH_SERVICE=Pubblica servizio

# WSDL Browser
TITLE_WSDL_BROWSER=Browser WSDL - %1
FORM_LABEL_WSDL_SOURCE=Selezionare un'origine WSDL:
FORM_LABEL_WSDL_SOURCE_WEBPROJECTS=Progetti Web
FORM_LABEL_WSDL_SOURCE_FAVORITES=Preferiti
FORM_LABEL_WEB_PROJECT=Progetto Web
FORM_LABEL_WSDL_URL=URL WSDL
ALT_WSDL_BROWSER=Browser WSDL

# Details
FORM_LINK_EDIT=Modifica
FORM_LINK_CANCEL=Annulla
FORM_LABEL_BUSINESS_KEY=Chiave business
FORM_LABEL_SERVICE_KEY=Chiave servizio
FORM_LABEL_SERVICE_INTERFACE_KEY=Chiave TModel
FORM_LABEL_USER_DEFINED_CATEGORIES=Categorie definite dall'utente
FORM_LABEL_CHECKED=Selezionato
FORM_LABEL_FILE=File
MSG_QUESTION_PUBLISH_ITEM=\u00c8 possibile che l'elemento non sia stato trovato nel registro. Pubblicarlo?
MSG_QUESTION_SERVICE_PUBLISH_BUSINESS=\u00c8 possibile che il servizio o il relativo business non sia stato trovato nel registro. Pubblicarlo?
MSG_INFO_BUSINESS_UPDATED=IWAB0257I Il business %1 \u00e8 stato aggiornato correttamente.
MSG_INFO_SERVICE_UPDATED=IWAB0258I Il servizio %1 \u00e8 stato aggiornato correttamente.
MSG_INFO_SERVICE_INTERFACE_UPDATED=IWAB0259I L'interfaccia di servizio %1 \u00e8 stata aggiornata correttamente.
MSG_INFO_REGISTRY_UPDATED=IWAB0323I Il registro %1 \u00e8 stato aggiornato correttamente.

# UnpublishAction
ALT_UNPUBLISH_BUSINESS=Annulla pubblicazione business
ALT_UNPUBLISH_SERVICE=Annulla pubblicazione servizio
ALT_UNPUBLISH_SERVICE_INTERFACE=Annulla pubblicazione interfaccia di servizio
FORM_LABEL_UNPUBLISH_DESC=Premere <strong>Vai</strong> per annullare la pubblicazione di questo oggetto. Potrebbe essere richiesta l'autenticazione.
MSG_INFO_BUSINESS_UNPUBLISHED=IWAB0260I La pubblicazione del business %1 \u00e8 stata annullata correttamente.
MSG_INFO_SERVICE_UNPUBLISHED=IWAB0261I La pubblicazione del servizio %1 \u00e8 stata annullata correttamente.
MSG_INFO_SERVICE_INTERFACE_UNPUBLISHED=IWAB0262I La pubblicazione dell'interfaccia di servizio %1 \u00e8 stata annullata correttamente.

# Add to WSDL Perspective
ALT_ADD_TO_WSDL_PERSPECTIVE=Aggiungi alla pagina WSDL
MSG_INFO_WSDL_ADDED_TO_WSDL_PERSPECTIVE=IWAB0376I %1 \u00e8 stato aggiunto correttamente alla pagina WSDL.
MSG_ERROR_WSDL_NOT_ADDED_TO_WSDL_PERSPECTIVE=IWAB0377E %1 non \u00e8 stato aggiunto alla pagina WSDL.

# Add to Favorites
ALT_ADD_TO_FAVORITES=Aggiungi alla pagina Preferiti
MSG_INFO_FAVORITE_ADDED=IWAB0263I %1 \u00e8 stato aggiunto ai preferiti.
MSG_ERROR_FAVORITE_NOT_ADDED=IWAB0264E %1 non \u00e8 stato aggiunto ai preferiti.
MSG_ERROR_FAVORITE_ALREADY_EXISTS=IWAB0324E %1 esiste gi\u00e0 nei preferiti.
MSG_QUESTION_OVERWRITE_FAVORITES=I preferiti esistono gi\u00e0.  Sovrascriverli?

# Refresh
MSG_INFO_NODE_REFRESHED=IWAB0265I %1 aggiornato.
MSG_QUESTION_REMOVE_NODE=\u00c8 possibile che %1 non sia stato trovato nel registro. Cancellarlo?

# ManageReferencedServices
ALT_MANAGE_REFERENCED_SERVICES=Gestisci servizi di riferimento
FORM_LABEL_MANAGE_REFERENCED_SERVICES_DESC=Aggiungere i servizi rilevati o pubblicati all'elenco dei servizi di riferimento facendo clic sul pulsante <strong>Aggiungi servizi</strong>. Rimuovere i riferimenti selezionati facendo clic sul pulsante <strong>Rimuovi riferimenti</strong>. Per le modifiche, potrebbe essere richiesta l'autenticazione.
FORM_LABEL_REFERENCED_SERVICES=Servizi di riferimento
FORM_BUTTON_ADD_SERVICES=Aggiungi servizi
FORM_BUTTON_REMOVE_REFERENCES=Rimuovi riferimenti
MSG_ERROR_NO_REFERENCE_SELECTED=IWAB0266E Prima di procedere, selezionare almeno un servizio di riferimento.
MSG_ERROR_NO_SERVICES=IWAB0267E Prima di continuare, richiamare o individuare almeno un servizio.
MSG_ERROR_SERVICE_NOT_REFERENCED=IWAB0268E Non \u00e8 stato possibile utilizzare il servizio %1 come riferimento.
MSG_ERROR_REFERENCE_NOT_REMOVED=IWAB0269E Non \u00e8 stato possibile rimuovere il riferimento del servizio %1.
MSG_INFO_SERVICE_REFERENCED=IWAB0270I \u00c8 stato effettuato un riferimento corretto al servizio %1.
MSG_INFO_SERVICE_REFERENCE_REMOVED=IWAB0271I Il riferimento al servizio %1 \u00e8 stato rimosso correttamente.

# ManagePublisherAssertions
ALT_MANAGE_PUBLISHER_ASSERTIONS=Gestisci relazioni commerciali
FORM_LABEL_MANAGE_PUBLISHER_ASSERTIONS_DESC=Aggiungere i business rilevati o pubblicati all'elenco delle relazioni commerciali facendo clic su <strong>Aggiungi relazioni</strong>. Rimuovere le relazioni selezionate facendo clic sul pulsante <strong>Rimuovi relazioni</strong>. Completare le relazioni selezionate facendo clic su <strong>Completa relazioni</strong>. Fare clic su <strong>Aggiorna relazioni</strong> per aggiornare l'elenco di relazioni.
FORM_LABEL_INCOMPLETE_ASSERTIONS_VISIBILITY_DESC=Relazioni commerciali incomplete sono visibili solo al proprietario del business.
FORM_LABEL_BUSINESSES=Business
FORM_BUTTON_SHOW_ALL_PUBLISHER_ASSERTIONS=Aggiorna relazioni
FORM_BUTTON_COMPLETE_PUBLISHER_ASSERTIONS=Completa relazioni
FORM_BUTTON_ADD_PUBLISHER_ASSERTIONS=Aggiungi relazioni
FORM_BUTTON_REMOVE_PUBLISHER_ASSERTIONS=Rimuovi relazioni
MSG_INFO_PUBLISHER_ASSERTIONS_REFRESHED=IWAB0325I Le relazioni commerciali vengono aggiornate.
MSG_ERROR_NO_INCOMPLETE_ASSERTION_SELECTED=IWAB0326E Selezionare almeno una relazione commerciale completa.
MSG_ERROR_NOT_OWNED_BUSINESS=IWAB0327E Questa operazione non pu\u00f2 essere eseguita su un business di propriet\u00e0 di un altro fornitore.

# GetBusinesses
ALT_GET_BUSINESS=Richiama business
ALT_GET_BUSINESSES=Richiama business
NODE_NAME_SERVICE_BUSINESS=Business per il servizio %1
NODE_NAME_SI_BUSINESSES=Business per l'interfaccia di servizio %1
MSG_QUESTION_REMOVE_SERVICE_NODE=\u00c8 possibile che il servizio non sia stato trovato nel registro. Rimuovere questo nodo?

# GetServiceInterfaces
ALT_GET_SERVICE_INTERFACES=Richiama interfacce di servizio
NODE_NAME_SERVICE_SERVICE_INTERFACES=Interfacce di servizio per il servizio %1
MSG_QUESTION_GET_SI_REMOVE_SERVICE_NODE=\u00c8 possibile che il servizio non sia stato trovato nel registro. Rimuovere questo nodo?

# GetServices
ALT_GET_SERVICES=Richiama servizi
NODE_NAME_SI_SERVICES=Servizi per l'interfaccia di servizio %1
NODE_NAME_BUSINESS_SERVICES=Servizi per il business %1
MSG_QUESTION_REMOVE_SI_NODE=\u00c8 possibile che l'interfaccia di servizio non sia stata trovata nel registro. Rimuovere questo nodo?
MSG_QUESTION_REMOVE_BUSINESS_NODE=\u00c8 possibile che il business non sia stato trovato nel registro. Rimuovere questo nodo?

# RefreshUDDINodesAction
MSG_ERROR_NODE_DATA_VALIDATION_FAILED=IWAB0272E \u00c8 possibile che %1 non sia stato trovato nel registro.

# Summaries
ALT_SUMMARY_QUERIES=Riepilogo delle query
ALT_SUMMARY_BUSINESSES=Riepilogo dei business
ALT_SUMMARY_SERVICES=Riepilogo dei servizi
ALT_SUMMARY_SERVICE_INTERFACES=Riepilogo delle interfacce di servizio
FORM_LABEL_QUERIES=Query

# SelectSubQueryItemAction
MSG_QUESTION_ITEM_VALIDATION_FAILED=\u00c8 possibile che %1 non sia stato trovato nel registro. Rimuoverlo?

# Frame titles
FRAME_TITLE_NAVIGATOR_CONTAINER=Contenitore Selezione
FRAME_TITLE_NAVIGATOR_TOOLBAR=Barra degli strumenti Selezione
FRAME_TITLE_NAVIGATOR_CONTENT=Contenuto Selezione
FRAME_TITLE_ACTIONS_CONTAINER=Contenitore azioni
FRAME_TITLE_PROPERTIES_CONTAINER=Contenitore propriet\u00e0
FRAME_TITLE_PROPERTIES_TOOLBAR=Barra degli strumenti propriet\u00e0
FRAME_TITLE_PROPERTIES_CONTENT=Contenuto propriet\u00e0
FRAME_TITLE_STATUS_CONTAINER=Contenitore stato
FRAME_TITLE_STATUS_TOOLBAR=Barra degli strumenti stato
FRAME_TITLE_STATUS_CONTENT=Contenuto stato
FRAME_TITLE_UDDI_PERSPECTIVE_CONTENT=Contenuto pagina UDDI
FRAME_TITLE_CATEGORIES_WORKAREA=Area di lavoro categorie
FRAME_TITLE_CATEGORIES_TOOLBAR=Barra degli strumenti categorie
FRAME_TITLE_CATEGORIES_CONTENT=Contenuto categorie
FRAME_TITLE_WSDL_TOOLBAR=Barra degli strumenti del browser WSDL
FRAME_TITLE_WSDL_CONTENT=Contenuto del browser WSDL

# Form titles
FORM_TITLE_BUSINESS_DETAILS=Modulo dettagli business
FORM_TITLE_BUSINESS_PUBLISH_SERVICE=Modulo servizio di pubblicazione business
FORM_TITLE_GET_FORM=Selezionare dal modulo degli oggetti rilevati e pubblicati
FORM_TITLE_ITEMS_SUMMARY=Riepilogo del modulo degli elementi
FORM_TITLE_MANAGE_PUBLISHER_ASSERTIONS=Gestisci modulo relazioni commerciali
FORM_TITLE_MANAGE_REFERENCED_SERVICES=Gestisci modulo servizi di riferimento
FORM_TITLE_OPEN_REGISTRY=Apri modulo di registro
FORM_TITLE_REGISTRY_DETAILS=Modulo dettagli registro
FORM_TITLE_REGISTRY_PUBLISH=Modulo pubblicazione registro
FORM_TITLE_REGISTRY_FIND=Modulo di ricerca registro
FORM_TITLE_RESULTS=Modulo risultati
FORM_TITLE_SERVICE_DETAILS=Modulo dettagli servizio
FORM_TITLE_SERVICE_INTERFACE_DETAILS=Modulo dettagli interfaccia di servizio
FORM_TITLE_UNPUBLISH=Annulla pubblicazione modulo
