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

# Method Search Page
searchStringLabel_text=Testo (* = tutte le stringhe, ? = tutti i caratteri):
caseSensitiveCheckbox_text=Maiuscole/Minuscole
elementNameLabel_text=Nome dell'elemento del metodo oppure modello del nome di presentazione
scopeGroup_text=Ambito
roleCheckbox_text=Ruolo
taskCheckbox_text=Operazione
workProductCheckbox_text=Prodotto di lavoro

# Method Search Query
searchQuery_text=Ricerca metodo

# Method Search Progress Dialog
scanLibraryTask_name=Scansione della libreria dei metodi in corso...
scanElementTask_name=Scansione dell''elemento del metodo ''{0}'' in corso...

# Method Search Error Dialog
searchError_title=Ricerca metodo
searchError_msg=IUPS0100E: Impossibile continuare l'operazione di ricerca.
searchError_reason=Nessuna libreria dei metodi attualmente aperta.\n\nAprire una libreria dei metodi e provare di nuovo.

# Method Search Result
searchResult_methodContent=Contenuto del metodo
searchResult_contentPackages=Pacchetti del contenuto
searchResult_standardCategories=Categorie standard
searchResult_disciplines=Discipline
searchResult_domains=Domini
searchResult_workProductTypes=Tipi di prodotto di lavoro
searchResult_roleSets=Insiemi di ruoli
searchResult_tools=Tool
searchResult_customCategories=Categorie personalizzate
searchResult_processes=Processi
searchResult_capabilityPatterns=Modelli di capacit\u00e0
searchResult_deliveryProcesses=Processi di consegna
searchResult_match=''{0}'' - 1 corrispondenza
searchResult_matches=''{0}'' - {1} corrispondenze
