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

# Method Search Page
searchStringLabel_text=\u6587\u672c\uff08* = \u4efb\u610f\u5b57\u7b26\u4e32\uff0c? = \u4efb\u610f\u5b57\u7b26\uff09\uff1a
caseSensitiveCheckbox_text=\u533a\u5206\u5927\u5c0f\u5199
elementNameLabel_text=\u65b9\u6cd5\u5143\u7d20\u540d\u79f0\u6216\u5c55\u793a\u540d\u79f0\u6a21\u5f0f\uff1a
scopeGroup_text=\u8303\u56f4
roleCheckbox_text=\u89d2\u8272
taskCheckbox_text=\u4efb\u52a1
workProductCheckbox_text=\u5de5\u4f5c\u4ea7\u54c1

# Method Search Query
searchQuery_text=\u65b9\u6cd5\u641c\u7d22

# Method Search Progress Dialog
scanLibraryTask_name=\u6b63\u5728\u626b\u63cf\u65b9\u6cd5\u5e93...
scanElementTask_name=\u6b63\u5728\u626b\u63cf\u65b9\u6cd5\u5143\u7d20\u201c{0}\u201d...

# Method Search Error Dialog
searchError_title=\u65b9\u6cd5\u641c\u7d22
searchError_msg=IUPS0100E: \u641c\u7d22\u64cd\u4f5c\u65e0\u6cd5\u7ee7\u7eed\u3002
searchError_reason=\u5f53\u524d\u6ca1\u6709\u6253\u5f00\u4efb\u4f55\u65b9\u6cd5\u5e93\u3002\n\n\u6253\u5f00\u67d0\u4e2a\u65b9\u6cd5\u5e93\u5e76\u91cd\u8bd5\u3002

# Method Search Result
searchResult_methodContent=\u65b9\u6cd5\u5185\u5bb9
searchResult_contentPackages=\u5185\u5bb9\u5305
searchResult_standardCategories=\u6807\u51c6\u7c7b\u522b
searchResult_disciplines=\u89c4\u7a0b
searchResult_domains=\u57df
searchResult_workProductTypes=\u5de5\u4f5c\u4ea7\u54c1\u7c7b\u578b
searchResult_roleSets=\u89d2\u8272\u96c6
searchResult_tools=\u5de5\u5177
searchResult_customCategories=\u5b9a\u5236\u7c7b\u522b
searchResult_processes=\u6d41\u7a0b
searchResult_capabilityPatterns=\u80fd\u529b\u6a21\u5f0f
searchResult_deliveryProcesses=\u4ea4\u4ed8\u6d41\u7a0b
searchResult_match=\u201c{0}\u201d\uff0d 1 \u4e2a\u5339\u914d
searchResult_matches=\u201c{0}\u201d\uff0d {1} \u4e2a\u5339\u914d
