#-------------------------------------------------------------------------------
# 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=Edici\u00f3n de biblioteca de EPF
providerName=Eclipse.org

_UI_Content_group=Contenido del m\u00e9todo

_UI_Disciplines_group=Disciplinas
_UI_Domains_group=Dominios
_UI_WorkProductTypes_group=Clases de producto de trabajo
_UI_Role_Sets_group=Conjuntos de roles
_UI_Tools_group=Herramientas
_UI_Standard_Categories_group=Categor\u00edas est\u00e1ndar
_UI_Custom_Categories_group=Categor\u00edas personalizadas
_UI_MethodContent_group=Paquetes de contenido

_UI_Processes_group=Procesos
_UI_PlanningTemplates_group=Plantillas de planificaci\u00f3n

_UI_CapabilityPatterns_text=Patrones de posibilidad
_UI_DeliveryProcesses_text=Procesos de entrega
_UI_ProcessContributions_text=Procesos diferenciales
_UI_PlanningTemplates_text=Plantillas de planificaci\u00f3n

_UI_CapabilityPattern_text=Patr\u00f3n de posibilidad
_UI_DeliveryProcess_text=Proceso de entrega
_UI_ProcessContribution_text=Proceso diferencial

_UI_Configurations_text=Configuraciones

_UI_ProcessFamilies_text=Familias del proceso

_UI_Uncategorized_text=Sin categorizar
_UI_Uncategorized_Tasks_text=Tareas sin categorizar
_UI_Uncategorized_Roles_text=Roles sin categorizar

_UI_Guidances_group=Instrucciones
_UI_Guidances_Checklists=Listas de comprobaci\u00f3n
_UI_Guidances_Concepts=Conceptos
_UI_Guidances_Examples=Ejemplos
_UI_Guidances_EstimationConsiderations=Consideraciones sobre el c\u00e1lculo
_UI_Guidances_Practices=Pr\u00e1cticas
_UI_Guidances_Reports=Informes
_UI_Guidances_ReusableAssets=Activos reutilizables
_UI_Guidances_Roadmap=Mapa
_UI_Guidances_SupportingMaterials=Materiales de soporte
_UI_Guidances_Techniques=T\u00e9cnicas
_UI_Guidances_Templates=Plantillas
_UI_Guidances_TermDefinitions=Definiciones del t\u00e9rmino
_UI_Guidances_ToolMentors=Instrucciones de la herramienta
_UI_Guidances_Whitepapers=Documentaci\u00f3n
_UI_Guidances_WorkProductGuidelines=Directrices


_UI_Roles_group=Roles
_UI_Tasks_group=Tareas
_UI_WorkProducts_group=Productos de trabajo

# Breakdown structure column display names
BS_Column_name=Nombre
BS_Column_prefix=Prefijo
BS_Column_id=\u00cdndice
BS_Column_predecessors=Predecesores
BS_Column_is_repeatable=Se puede repetir
BS_Column_is_ongoing=Continuo
BS_Column_is_event_driven=Condicionado por sucesos
BS_Column_entry_state=Estado de entrada
BS_Column_exit_state=Estado de salida
BS_Column_teams=Equipo
BS_Column_type=Tipo
BS_Column_model_info=Informaci\u00f3n del modelo
BS_Column_presentation_name=Nombre de presentaci\u00f3n
BS_Column_deliverable=entregable
BS_Column_is_optional=Opcional
BS_Column_is_planned=Planeado
BS_Column_has_multiple_occurrences=Varias apariciones

