# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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
providerName=Eclipse.org
pluginName=Modifica libreria EPF

_UI_Content_group=Contenuto di metodo

_UI_Disciplines_group=Discipline
_UI_Domains_group=Domini
_UI_WorkProductTypes_group=Tipi di prodotto di lavoro
_UI_Role_Sets_group=Serie di ruoli
_UI_Tools_group=Strumenti
_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=Procedure
_UI_Guidances_Reports=Prospetti
_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 di presentazione
BS_Column_deliverable=Componente distribuibile
BS_Column_is_optional=Facoltativo
BS_Column_is_planned=Pianificato
BS_Column_has_multiple_occurrences=Ricorrenze multiple
