#-------------------------------------------------------------------------------
# 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

# Method Search Page
searchStringLabel_text=Texto (* = cualquier cadena de caracteres, ? = cualquier car\u00e1cter):
caseSensitiveCheckbox_text=Sensible a may\u00fasculas y min\u00fasculas
elementNameLabel_text=Nombre del elemento de m\u00e9todo o patr\u00f3n del nombre de presentaci\u00f3n:
scopeGroup_text=\u00c1mbito
roleCheckbox_text=Rol
taskCheckbox_text=Tarea
workProductCheckbox_text=Producto de trabajo

# Method Search Query
searchQuery_text=B\u00fasqueda de m\u00e9todo

# Method Search Progress Dialog
scanLibraryTask_name=Explorando la biblioteca de m\u00e9todos...
scanElementTask_name=Explorando el elemento de m\u00e9todo ''{0}''...

# Method Search Error Dialog
searchError_title=B\u00fasqueda de m\u00e9todo
searchError_msg=IUPS0100E: La operaci\u00f3n de b\u00fasqueda no puede continuar.
searchError_reason=Actualmente no hay ninguna biblioteca de m\u00e9todos abierta.\n\nAbra una biblioteca de m\u00e9todos y vuelva a intentarlo.

# Method Search Result
searchResult_methodContent=Contenido del m\u00e9todo
searchResult_contentPackages=Paquetes de contenido
searchResult_standardCategories=Categor\u00edas est\u00e1ndar
searchResult_disciplines=Disciplinas
searchResult_domains=Dominios
searchResult_workProductTypes=Tipos de producto de trabajo
searchResult_roleSets=Conjuntos de roles
searchResult_tools=Herramientas
searchResult_customCategories=Categor\u00edas personalizadas
searchResult_processes=Procesos
searchResult_capabilityPatterns=Patrones de posibilidad
searchResult_deliveryProcesses=Procesos de entrega
searchResult_match=''{0}'' - 1 coincidencia
searchResult_matches=''{0}'' - {1} coincidencias
