#-------------------------------------------------------------------------------
# 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

# Export Microsoft Project Wizard
exportMSPWizard_title=Exportar proyecto de Microsoft Project

# Select Process Wizard Page
selectProcessWizardPage_title=Seleccionar proceso y opciones de exportaci\u00f3n
selectProcessWizardPage_text=Seleccionar un proceso para exportarlo y especificar las opciones de exportaci\u00f3n.
processGroup_text=Proceso
capabilityPatternRadioButton_text=Patr\u00f3n de posibilidad
deliveryProcessRadioButton_text=Proceso de entrega
optionsGroup_text=Opciones de exportaci\u00f3n
processNameLabel_text=Nombre:
contextNameLabel_text=Configuraci\u00f3n:
publishConfigurationCheckBox_text=Publicar la configuraci\u00f3n seleccionada
exportOnlyPlannedElementsCheckBox_text=Exportar s\u00f3lo los elementos de desglose planificados

# Select Publishing Options Wizard Page
selectPublishOptionsWizardPage_title=Seleccionar opciones de publicaci\u00f3n
selectPublishOptionsWizardPage_text=Seleccionar las opciones de publicaci\u00f3n que se utilizar\u00e1n para publicar la configuraci\u00f3n especificada.

# Select Export Directory Wizard page
selectExportDirWizardPage_title=Especificar el nombre de proyecto y el directorio de exportaci\u00f3n.
selectExportDirWizardPage_text=Especificar el nombre del proyecto de Microsoft Project y el directorio de exportaci\u00f3n.
projectNameLabel_text=Nombre:
dirLabel_text=Directorio:
browseButton_text=Examinar...

# Progress Messages
exportMSPTask_name=Exportando el proceso seleccionado a proyecto de Microsoft Project...

# Confirmation Messages
overwriteText_msg=Ya existe un proyecto de Microsoft Project ''{0}'' en ''{1}''.\n\u00bfDesea sobrescribirlo?
completedText_msg=El proceso seleccionado ''{0}'' se ha exportado satisfactoriamente al archivo XML ''{1}'' del proyecto de Microsoft Project.

# Error Messages
exportMSPError_msg=Se ha producido un error al exportar el proceso seleccionado ''{0}'' al proyecto de Microsoft Project ''{1}''.
exportMSPError_reason=Pulse en Detalles para obtener m\u00e1s informaci\u00f3n.
