###############################################################################
# Copyright (c) 2001, 2004 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 API and implementation
###############################################################################

title=Favoritos

# Navigator
FAVORITES_MAIN_NODE=Favoritos - Principal
FAVORITES_WSIL_FOLDER_NODE=WSIL favoritos
FAVORITES_WSDL_SERVICE_FOLDER_NODE=Servicios WSDL favoritos
FAVORITES_UDDI_SERVICE_FOLDER_NODE=Servicios UDDI favoritos
FAVORITES_UDDI_BUSINESSES_FOLDER_NODE=Empresas UDDI favoritas
FAVORITES_UDDI_SERVICE_INTERFACES_FOLDER_NODE=Interfaces de servicio UDDI favoritos
FAVORITES_UDDI_REGISTRIES_FOLDER_NODE=Registros UDDI favoritos

# Form
FORM_LABEL_FAVORITE_WSIL=WSIL favoritos
FORM_LABEL_FAVORITE_WSDL=WSDL favoritos
FORM_LABEL_FAVORITE_UDDI_REGISTRY=Registros UDDI favoritos
FORM_LABEL_FAVORITE_UDDI_SERVICE=Servicios UDDI favoritos
FORM_LABEL_FAVORITE_UDDI_BUSINESS=Entidades de empresa UDDI favoritas
FORM_LABEL_FAVORITE_UDDI_SERVICE_INTERFACE=Interfaces de servicio UDDI favoritos
FORM_LABEL_REMOVE=Eliminar
FORM_LABEL_IMPORT_TO_WSIL_PERSPECTIVE=A\u00f1adir a p\u00e1gina WSIL
FORM_LABEL_IMPORT_TO_UDDI_PERSPECTIVE=A\u00f1adir a p\u00e1gina UDDI
FORM_LABEL_IMPORT_TO_WSDL_PERSPECTIVE=A\u00f1adir a p\u00e1gina WSDL
FORM_LABEL_URL=URL
FORM_LABEL_ITEM_NUMBER=Elemento #
FORM_LABEL_NAME=Nombre
FORM_LABEL_INQUIRY_URL=URL de consulta
FORM_LABEL_PUBLISH_URL=URL de publicaci\u00f3n
FORM_LABEL_REGISTRY_NAME=Nombre de registro
FORM_LABEL_BUSINESS_NAME=Nombre de empresa
FORM_LABEL_BUSINESS_KEY=Clave de empresa
FORM_LABEL_SERVICE_NAME=Nombre de servicio
FORM_LABEL_SERVICE_KEY=Clave de servicio
FORM_LABEL_SERVICE_INTERFACE_NAME=Nombre de interfaz de servicio
FORM_LABEL_SERVICE_INTERFACE_KEY=Clave de interfaz de servicio
FORM_LABEL_REGISTRY_URL=<a href="%1" target="_blank">Pulse aqu\u00ed</a> para obtener un ID de usuario y una contrase\u00f1a para este registro.
FORM_LABEL_USER_DEFINED_CATEGORY_DATA_FILES=Archivos de datos para las categor\u00edas definidas por el usuario
MSG_ERROR_NOTHING_SELECTED=IWAB0315E Seleccione como m\u00ednimo un elemento.

# ListFavoriteWSILAction
ALT_LIST_FAVORITE_WSIL=Listar WSIL favoritos
FORM_LABEL_LIST_FAVORITE_WSIL_DESC=Seleccione un conjunto de enlaces WSIL favoritos y pulse <strong>A\u00f1adir a p\u00e1gina WSIL</strong> para abrirlos en el navegador WSIL. Pulse <strong>Eliminar</strong> para eliminar las selecciones.

# ListFavoriteWSDLServiceAction
ALT_LIST_FAVORITE_WSDL_SERVICE=Listar servicios WSDL favoritos
FORM_LABEL_LIST_FAVORITE_WSDL_SERVICE_DESC=Seleccione un conjunto de servicios WSDL favoritos y pulse <strong>Eliminar</strong> para eliminarlos.

# ListFavoriteUDDIServiceAction
ALT_LIST_FAVORITE_UDDI_SERVICE=Listar servicios UDDI favoritos
FORM_LABEL_LIST_FAVORITE_UDDI_SERVICE_DESC=Seleccione un conjunto de servicios UDDI favoritos y pulse <strong>A\u00f1adir a p\u00e1gina UDDI</strong> para abrirlos en el navegador UDDI. Pulse <strong>Eliminar</strong> para eliminar las selecciones.

# ListFavoriteUDDIBusinessAction
ALT_LIST_FAVORITE_UDDI_BUSINESS=Listar empresas UDDI favoritas
FORM_LABEL_LIST_FAVORITE_UDDI_BUSINESS_DESC=Seleccione un conjunto de empresas UDDI favoritas y pulse <strong>A\u00f1adir a p\u00e1gina UDDI</strong> para abrirlas en el navegador UDDI. Pulse <strong>Eliminar</strong> para eliminar las selecciones.

# ListFavoriteUDDIRegistryAction
ALT_LIST_FAVORITE_UDDI_REGISTRY=Listar registros UDDI favoritos
FORM_LABEL_LIST_FAVORITE_UDDI_REGISTRY_DESC=Seleccione un conjunto de registros UDDI favoritos y pulse <strong>A\u00f1adir a p\u00e1gina UDDI</strong> para abrirlos en el navegador UDDI. Pulse <strong>Eliminar</strong> para eliminar las selecciones.

# ListFavoriteUDDIServiceInterfaceAction
ALT_LIST_FAVORITE_UDDI_SERVICE_INTERFACE=Listar interfaces de servicio UDDI favoritas
FORM_LABEL_LIST_FAVORITE_UDDI_SERVICE_INTERFACE_DESC=Seleccione un conjunto de interfaces de servicio UDDI favoritas y pulse <strong>A\u00f1adir a p\u00e1gina UDDI</strong> para abrirlas en el navegador UDDI. Pulse <strong>Eliminar</strong> para eliminar las selecciones.

# FavoritesWSILDetailsAction
ALT_FAVORITES_WSIL_DETAILS=Detalles de WSIL favorito

# FavoritesWSDLDetailsAction
ALT_FAVORITES_WSDL_DETAILS=Detalles de WSDL favorito

# FavoritesUDDIRegistryDetailsAction
ALT_FAVORITES_UDDI_REGISTRY_DETAILS=Detalles de registro UDDI favorito

# FavoritesUDDIBusinessDetailsAction
ALT_FAVORITES_UDDI_BUSINESS_DETAILS=Detalles de empresa UDDI favorita

# FavoritesUDDIServiceDetailsAction
ALT_FAVORITES_UDDI_SERVICE_DETAILS=Detalles de servicio UDDI favorito

# FavoritesUDDIServiceInterfaceDetailsAction
ALT_FAVORITES_UDDI_SERVICE_INTERFACE_DETAILS=Detalles de interfaz de servicio UDDI favorito

# AddWSILToWSILPerspectiveAction
ALT_ADD_WSIL_TO_WSIL_PERSPECTIVE=A\u00f1adir a p\u00e1gina WSIL
MSG_ERROR_WSIL_ALREADY_OPENED=IWAB0316E %1 ya est\u00e1 abierto en la p\u00e1gina WSIL.
MSG_INFO_ADD_WSIL_TO_WSIL_PERSPECTIVE_SUCCESSFUL=IWAB0317I %1 se ha a\u00f1adido a la p\u00e1gina WSIL.
MSG_ERROR_ADD_WSIL_TO_WSIL_PERSPECTIVE=IWAB0318E No se ha podido cargar WSIL %1.

# AddToUDDIPerspectiveAction
ALT_ADD_TO_UDDI_PERSPECTIVE=A\u00f1adir a p\u00e1gina UDDI
MSG_ERROR_ADD_TO_UDDI_PERSPECTIVE=IWAB0320E %1 no se ha encontrado en el registro.
MSG_INFO_ADD_TO_UDDI_PERSPECTIVE_SUCCESSFUL=IWAB0321I %1 se ha a\u00f1adido a la p\u00e1gina UDDI.

# FavoritesAddToWSDLPerspectiveAction
ALT_ADD_WSDL_TO_WSDL_PERSPECTIVE=A\u00f1adir a p\u00e1gina WSDL
MSG_INFO_ADD_WSDL_TO_WSDL_PERSPECTIVE_SUCCESSFUL=IWAB0369I %1 se ha a\u00f1adido a la p\u00e1gina WSDL.
MSG_ERROR_ADD_WSDL_TO_WSDL_PERSPECTIVE=IWAB0370E WSDL %1 no se ha podido cargar.

# RemoveFavoriteAction
ALT_REMOVE_FAVORITE=Eliminar favorito
MSG_CONFIRM_REMOVE_NODE=%1 ya no puede resolverse.  \u00bfDesea borrarlo?

# FavoritesRestoreDefaultFavoritesAction
ALT_RESTORE_DEFAULT_FAVORITES=Restaurar favoritos por omisi\u00f3n
MSG_CONFIRM_RESTORE_DEFAULT_FAVORITES=Esta operaci\u00f3n sobrescribir\u00e1 los favoritos actuales.  \u00bfDesea continuar?
MSG_ERROR_OPEN_FAVORITES_BACKUP=IWAB0134E No se pueden cargar los favoritos por omisi\u00f3n.
MSG_INFO_FAVORITES_RESTORED_TO_DEFAULT=IWAB0322I Se han restaurado los favoritos por omisi\u00f3n.
MSG_ERROR_SAVE_FAVORITES_WSIL=IWAB0186E No se pueden guardar los favoritos en %1.

# Frame titles
FRAME_TITLE_NAVIGATOR_CONTAINER=Contenedor del navegador
FRAME_TITLE_NAVIGATOR_TOOLBAR=Barra de herramientas del navegador
FRAME_TITLE_NAVIGATOR_CONTENT=Contenido del navegador
FRAME_TITLE_ACTIONS_CONTAINER=Contenedor de acciones
FRAME_TITLE_PROPERTIES_CONTAINER=Contenedor de propiedades
FRAME_TITLE_PROPERTIES_CONTENT=Contenido de propiedades
FRAME_TITLE_PROPERTIES_TOOLBAR=Barra de herramientas de propiedades
FRAME_TITLE_STATUS_CONTAINER=Contenedor de estado
FRAME_TITLE_STATUS_CONTENT=Contenido de estado
FRAME_TITLE_STATUS_TOOLBAR=Barra de herramientas de estado

# Form titles
FORM_TITLE_UDDI_BUSINESS_DETAILS=Formulario de detalles de empresa UDDI
FORM_TITLE_UDDI_REGISTRY_DETAILS=Formulario de detalles de registro UDDI
FORM_TITLE_UDDI_SERVICE_DETAILS=Formulario de detalles de servicio UDDI
FORM_TITLE_UDDI_SERVICE_INTERFACE_DETAILS=Formulario de detalles de interfaz de servicio UDDI
FORM_TITLE_WSDL_DETAILS=Formulario de detalles de WSDL
FORM_TITLE_WSIL_DETAILS=Formulario de detalles de WSIL

# View titles
VIEW_TITLE_UDDI_BUSINESS_LIST=Vista Lista de empresas UDDI
VIEW_TITLE_UDDI_REGISTRY_LIST=Vista Lista de registros UDDI
VIEW_TITLE_UDDI_SERVICE_INTERFACE_LIST=Vista Lista de interfaces de servicio UDDI
VIEW_TITLE_UDDI_SERVICE_LIST=Vista Lista de servicios UDDI
VIEW_TITLE_WSDL_SERVICE_LIST=Vista Lista de servicios WSDL
VIEW_TITLE_WSIL_LIST=Vista Lista de enlaces WSIL
