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

# Export Microsoft Project Wizard
exportMSPWizard_title=Exportar proyecto de Microsoft Project

# Select Export Options Wizard Page
selectExportOptionsWizardPage_title=Seleccionar opciones de exportaci\u00f3n
selectExportOptionsWizardPage_text=Seleccione las opciones de configuraci\u00f3n de m\u00e9todo y exportaci\u00f3n que se utilizar\u00e1n para exportar el proceso seleccionado.
selectedProcessLabel_text=Proceso seleccionado:
configurationLabel_text=Configuraci\u00f3n de m\u00e9todo:
publishWebSiteCheckBox_text=Publicar el sitio web del proceso
publishConfigButton_text=Publicar la configuraci\u00f3n entera del m\u00e9todo
publishProcessButton_text=Publicar el contenido que s\u00f3lo resulta relevante para el proceso seleccionado
exportOnlyPlannedElementsCheckBox_text=Exportar s\u00f3lo los elementos de desglose planificados

# Select Publishing Options Wizard Page
selectPublishOptionsWizardPage_title=Seleccionar opciones de publicaci\u00f3n
selectPublishOptionsWizardPage_text=Seleccione las opciones de publicaci\u00f3n que se utilizar\u00e1n para publicar el sitio web correspondiente al proceso seleccionado.

# Select Export Directory Wizard page
selectExportDirWizardPage_title=Especificar el nombre de proyecto y el directorio de exportaci\u00f3n.
selectExportDirWizardPage_text=Especifique 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...

# Warning Messages
overwriteText_msg=IUPM0100W: Ya existe un proyecto de Microsoft Project ''{0}'' en ''{1}''.\n\n\u00bfDesea sobrescribirlo?
missingProcessContentWarning_msg=IUPM0102W: El sitio web del proceso publicado no contendr\u00e1 ning\u00fan contenido relacionado con el proceso exportado.\n\n\u00bfDesea continuar?

# Informational Messages
completedText_msg=IUPM0103I: El proceso seleccionado ''{0}'' se ha exportado satisfactoriamente al archivo XML ''{1}'' del proyecto de Microsoft Project.

# Error Messages
exportMSPError_msg=IUPM0105E: Se ha producido un error al exportar el proceso seleccionado ''{0}'' al proyecto de Microsoft Project ''{1}''.
exportMSPError_reason=Pulse Detalles para obtener m\u00e1s informaci\u00f3n.
exportMSPInternalError_msg=Se ha producido un error interno.
illegalArgument_msg={0} devuelve un valor nulo o no v\u00e1lido.
