#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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

# File Menu
fileMenuItem_text=&File
fileNewMenuItem_text=&Nuovo
fileOpenMenuItem_text=A&pri

# Edit Menu
editMenuItem_text=&Modifica

# Navigate Menu
navigateMenuItem_text=&Esplora

# Search Menu
searchMenuItem_text=&Ricerca

# Configuration Menu
configurationMenuItem_text=&Configurazione

# Window Menu
windowMenuItem_text=&Finestra
windowOpenPerspectiveMenuItem_text=&Apri prospettiva
windowShowViewMenuItem_text=Mostra vista

# Help Menu
helpMenuItem_text=&Guida

# New Drop Down Menu
newDropDown_tooltip_text=Nuovo
otherMenuItem_text=Altro...

# Open Perspective Actions
openAuthoringPerspectiveAction_text=Authoring
openBrowsingPerspectiveAction_text=Esplorazione

# Misc Actions
editAction_text=Modifica
upgradeLibraryAction_text=Aggiorna libreria dei metodi da I1 a I2...

startup_dir_log_info_text=INFO: Directory di avvio applicazione =
menu_help_software_updates_manage_software_config_text=&Gestisci configurazione software...

workspaceCannotLockTitle=Impossibile avviare {0}
workspaceCannotLockMessage=Impossibile avviare {0} mentre un''altra istanza \u00e8 in esecuzione. Passare all''istanza in esecuzione oppure chiuderla e avviare di nuovo l''applicazione.
mainActionBarAdvisor_Diagnosis=Tool di diagnostica e di ripristino
mainActionBarAdvisor_HealthCheck=Esegui controllo integrit\u00e0 su libreria...
mainActionBarAdvisor_RemoveReference=Rimuovi riferimenti a oggetti non validi...
