#-------------------------------------------------------------------------------
# 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=La configurazione selezionata viene pubblicata nella seguente ubicazione
detailInfoText=Informazioni dettagliate vengono registrate nei seguenti file nella cartella dei log
showErrorText=mostrare tutti gli errori che si sono verificati durante la pubblicazione.
logsWarningText=registra tutti i messaggi di avviso come riferimenti mancanti, collegamenti danneggiati e categorie non pubblicate senza elementi categorizzati.
pagesNotInstalledText=Nella cartella pages_not_installed, si troveranno tutti i riferimenti mancanti di questa configurazione.
invalidExternalText=Identificati collegamenti esterni non validi nella configurazione
ownerElementText=Elemento proprietario
nonExistingText=Gli elementi proprietario fanno riferimento a elementi non esistenti. \u00c8 possibile che gli elementi siano stati eliminati dalla libreria dopo la creazione dei collegamenti degli elementi. Trovare gli elementi proprietario e correggere questi riferimenti non validi.
missingReferencesTitleText=Riferimenti mancanti
missingReferencesText=Gli elementi proprietario fanno riferimento ad elementi mancanti nella configurazione selezionata. Controllare la chiusura della configurazione e correggere gli elementi mancanti.                   
missingResourceFilesTitleText=File di risorse mancanti
missingResourceFilesText=Gli elementi proprietario fanno riferimento a file di risorse mancanti. A questi file delle risorse sono associati riferimenti presenti nel contenuto degli elementi oppure negli allegati associati.
missingResourceText=Risorsa mancante
ownerResourceText=Risorsa proprietario
missingElementText=Elemento mancante
invalidElementText=Elemento non valido
invalidElementLinksText=Collegamenti elementi non validi
pleaseCheckText=Controllare la chiusura della configurazione e correggere gli elementi mancanti.
pleaseFindText=Trovare gli elementi proprietario e correggere questi riferimenti non validi.
glossaryText=Glossario
indexText=Indice
feedbackText=Feedback
aboutText=Informazioni su
searchText=Ricerca
printText=Stampa
summaryText=Riepilogo
publishingReportText=Prospetto di pubblicazione:
whereAmIText=Posizione
treeSetsText=Insieme di strutture

searchTitleText=Ricerca processo
label1Text=
label2Text=
label3Text=
lable4Text=
searchButtonText=Ricerca
searchExpressionText=* = tutte le stringhe, ? = tutti i caratteri, "" = frase, AND, OR, NOT = operatori booleani

detailsText=Dettagli
infoText=Informazioni
messgeText=Messaggio
descriptionText=Descrizione
