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

# Plug-in
pluginName=Modifica libreria EPF
providerName=Eclipse.org

_UI_Content_group=Contenuto del metodo

_UI_Disciplines_group=Discipline
_UI_Domains_group=Domini
_UI_WorkProductTypes_group=Tipi di prodotto di lavoro
_UI_Role_Sets_group=Insiemi di ruoli
_UI_Tools_group=Tool
_UI_Standard_Categories_group=Categorie standard
_UI_Custom_Categories_group=Categorie personalizzate
_UI_MethodContent_group=Pacchetti del contenuto
_UI_Categories_group=Categorie

_UI_Processes_group=Processi
_UI_PlanningTemplates_group=Pianificazione dei modelli

_UI_CapabilityPatterns_text=Modelli di capacit\u00e0
_UI_DeliveryProcesses_text=Processi di consegna
_UI_ProcessContributions_text=Processi differenziali
_UI_PlanningTemplates_text=Pianificazione dei modelli

_UI_CapabilityPattern_text=Modello di capacit\u00e0
_UI_DeliveryProcess_text=Processo di consegna
_UI_ProcessContribution_text=Processo differenziale

_UI_Configurations_text=Configurazioni

_UI_ProcessFamilies_text=Famiglie processi

_UI_Uncategorized_text=Senza categoria
_UI_Uncategorized_Tasks_text=Operazioni senza categoria
_UI_Uncategorized_Roles_text=Ruoli senza categoria

_UI_Guidances_group=Guida
_UI_Guidances_Checklists=Elenchi di controllo
_UI_Guidances_Concepts=Concetti
_UI_Guidances_Examples=Esempi
_UI_Guidances_EstimationConsiderations=Considerazioni sulla valutazione
_UI_Guidances_Practices=Pratiche
_UI_Guidances_Reports=Report
_UI_Guidances_ReusableAssets=Risorse riutilizzabili
_UI_Guidances_Roadmap=Roadmap
_UI_Guidances_SupportingMaterials=Materiale di supporto
_UI_Guidances_Techniques=Tecniche
_UI_Guidances_Templates=Modelli
_UI_Guidances_TermDefinitions=Definizioni termini
_UI_Guidances_ToolMentors=Guide dei tool
_UI_Guidances_Whitepapers=Whitepaper
_UI_Guidances_WorkProductGuidelines=Linee guida
_UI_Key_Concepts=Concetti chiave


_UI_Roles_group=Ruoli
_UI_Tasks_group=Operazioni
_UI_WorkProducts_group=Prodotti di lavoro
_UI_Activities_group=Attivit\u00e0

# Breakdown structure column display names
BS_Column_name=Nome
BS_Column_prefix=Prefisso
BS_Column_id=Indice
BS_Column_predecessors=Predecessori
BS_Column_is_repeatable=Ripetibile
BS_Column_is_ongoing=In corso
BS_Column_is_event_driven=Attivato da evento
BS_Column_entry_state=Stato di ingresso
BS_Column_exit_state=Stato di uscita
BS_Column_teams=Team
BS_Column_type=Tipo
BS_Column_model_info=Info modello
BS_Column_presentation_name=Nome presentazione
BS_Column_deliverable=Componente distribuibile
BS_Column_is_optional=Facoltativo
BS_Column_is_planned=Pianificato
BS_Column_has_multiple_occurrences=Ricorrenze multiple

