#-------------------------------------------------------------------------------
# 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

unknown_text=\u672a\u77e5

# Error Reasons
emptyLibraryPathError_reason=\u65b9\u6cd5\u5e93\u8def\u5f84\u4e3a\u7a7a\u3002
missingLibraryFileError_reason=\u7f3a\u5c11\u65b9\u6cd5\u5e93\u6a21\u578b\u6587\u4ef6\u3002
unresolvedProxyError_reason=\u9009\u5b9a\u7684\u65b9\u6cd5\u5e93\u5305\u542b\u672a\u89e3\u6790\u7684\u5143\u7d20\u5f15\u7528\u3002\u6b64\u60c5\u51b5\u901a\u5e38\u662f\u7531\u4e8e\u5e93\u6587\u4ef6\u5939\u4e2d\u7f3a\u5c11 XMI \u6587\u4ef6\u6216 XMI \u6587\u4ef6\u653e\u7f6e\u9519\u8bef\u800c\u5f15\u8d77\u7684\u3002\n\n\u8bf7\u5173\u95ed\u6b64\u5bf9\u8bdd\u6846\uff0c\u7136\u540e\u6253\u5f00\u201c\u95ee\u9898\u201d\u89c6\u56fe\uff0c\u5e2e\u52a9\u786e\u5b9a\u672a\u89e3\u6790\u7684\u5f15\u7528\u3002\u4e3a\u907f\u514d\u635f\u574f\u5e93\uff0c\u5f3a\u70c8\u5efa\u8bae\u5728\u5bf9\u5e93\u6267\u884c\u66f4\u591a\u66f4\u6539\u4e4b\u524d\u5148\u89e3\u6790\u8fd9\u4e9b\u5f15\u7528\u3002

# Warning Messages
configClosureWarning_msg1=IUPL0007W: \u4e00\u4e2a\u6216\u591a\u4e2a\u5b50\u5143\u7d20\u5305\u542b\u7f3a\u5c11\u7684\u5f15\u7528
configClosureWarning_msg2=IUPL0008W: \u5e94\u9009\u62e9\u6b64\u5143\u7d20\u4ee5\u89e3\u6790\u4e00\u4e2a\u6216\u591a\u4e2a\u7f3a\u5c11\u7684\u5f15\u7528
configClosureWarning_msg3=IUPL0009W: \u6b64\u5143\u7d20\u5f15\u7528\u672a\u9009\u5b9a\u7a0b\u5e8f\u5305\u4e2d\u7684\u4e00\u4e2a\u6216\u591a\u4e2a\u5143\u7d20

# Error Messages
loadResourcesError_msg=IUPL0000E: \u5df2\u88c5\u5165\u65b9\u6cd5\u5e93\uff0c\u4f46\u662f\u68c0\u6d4b\u5230\u4e00\u4e9b\u9519\u8bef\u3002
unsupportedGuidanceTypeError_msg=IUPL0001E: \u65e0\u6cd5\u5c06\u6b64\u6307\u5bfc\u4fe1\u606f\u8f6c\u6362\u4e3a\u53e6\u4e00\u79cd\u7c7b\u578b\u3002
convertGuidanceError_msg=IUPL0002E: \u65e0\u6cd5\u5c06\u6b64\u6307\u5bfc\u4fe1\u606f\u8f6c\u6362\u4e3a\u76ee\u6807\u7c7b\u578b\u3002
saveConvertedGuidanceError_msg=IUPL0003E: \u65e0\u6cd5\u4fdd\u5b58\u8f6c\u6362\u7684\u6307\u5bfc\u4fe1\u606f\u201c{0}\u201d\u3002

# Convert activity
convertActivityError_title=\u8f6c\u6362\u6d3b\u52a8\u7c7b\u578b\u9519\u8bef
convertActivityError_msg=IUPL0006E: \u65e0\u6cd5\u5c06\u6b64\u6d3b\u52a8\u8f6c\u6362\u4e3a\u76ee\u6807\u7c7b\u578b\u3002
saveConvertedActivityError_msg=IUPL0007E: \u65e0\u6cd5\u4fdd\u5b58\u8f6c\u6362\u7684\u6d3b\u52a8\u201c{0}\u201d\u3002

# Error Reasons
error_reason=IUPL0004E: \u53d1\u751f\u9519\u8bef\u3002\u8bf7\u5355\u51fb\u201c\u786e\u5b9a\u201d\uff0c\u83b7\u53d6\u66f4\u591a\u4fe1\u606f\u3002
unsupportedGuidanceTypeError_reason={0} \u6ca1\u6709\u517c\u5bb9\u7684\u6307\u5bfc\u4fe1\u606f\u7c7b\u578b\u3002
invalidLibraryPathError_reason=\u5e93\u8def\u5f84\u65e0\u6548\u3002\u65e0\u6cd5\u521b\u5efa .project \u6587\u4ef6\u3002
couldNotLockLibrary_reason=\u65e0\u6cd5\u9501\u5b9a\u5e93\u3002

# Progress Messages
copyingAttachmentsTask_name=\u6b63\u5728\u590d\u5236\u9644\u4ef6...

# Convert Guidance Dialog
convertGuidanceDialog_title=\u8f6c\u6362\u6307\u5bfc\u4fe1\u606f\u7c7b\u578b
convertGuidanceDialog_text=\u9009\u62e9\u76ee\u6807\u6307\u5bfc\u4fe1\u606f\u7c7b\u578b\u3002

# Guidance type names for Convert Guidance Dialog - should be refactored into library.ui
checklist_text=\u6838\u5bf9\u8868
concept_text=\u6982\u5ff5
example_text=\u793a\u4f8b
guideline_text=\u6307\u5357
estimate_text=\u4f30\u7b97
estimatingMetric_text=\u4f30\u7b97\u5ea6\u91cf\u503c
estimationConsiderations_text=\u4f30\u7b97\u6ce8\u610f\u4e8b\u9879
report_text=\u62a5\u544a
template_text=\u6a21\u677f
supportingMaterial_text=\u652f\u6301\u6750\u6599
toolMentor_text=\u5de5\u5177\u5411\u5bfc
whitepaper_text=\u767d\u76ae\u4e66
termDefinition_text=\u672f\u8bed\u5b9a\u4e49
practice_text=\u5b9e\u8df5
reusableAsset_text=\u53ef\u91cd\u7528\u8d44\u4ea7

#activity breakdown info strings
ActivityLayout_primaryTasks_text=\u4f5c\u4e3a\u62e5\u6709\u8005\u6267\u884c
ActivityLayout_additionalTasks_text=\u4f5c\u4e3a\u5176\u4ed6\u7528\u6237\u6267\u884c


# Convert Guidance Error Messages
convertGuidanceError_title=\u8f6c\u6362\u6307\u5bfc\u4fe1\u606f\u7c7b\u578b\u9519\u8bef

# Load Resources Error Dialog
loadResourcesError_title=\u6253\u5f00\u65b9\u6cd5\u5e93\u9519\u8bef
loadResourcesError_reason=\u65e0\u6cd5\u88c5\u5165\u67d0\u4e9b\u5e93\u8d44\u6e90\u3002\n\n\u8bf7\u5355\u51fb\u201c\u8be6\u7ec6\u4fe1\u606f\u201d\uff0c\u68c0\u67e5\u9519\u8bef\u5e76\u89e3\u51b3\u5b83\u4eec\uff0c\u7136\u540e\u518d\u5bf9\u5e93\u6267\u884c\u66f4\u591a\u66f4\u6539\u3002

# Role Diagrams
roleDiagramPerforms_text=\u6267\u884c
roleDiagramResponsibleFor_text=\u8d1f\u8d23

DefaultContentValidator_MSG0=\u88ab\u5f15\u7528\u5143\u7d20\uff1a{0}
DefaultContentValidator_MSG1=\u4fe1\u606f\uff1a{0}
DefaultContentValidator_MSG4=\u8b66\u544a\uff1a{0}
DefaultContentValidator_MSG7=\u9519\u8bef\uff1a{0}
DefaultContentValidator_MSG10=\u7f3a\u5c11\u88ab\u5f15\u7528\u5143\u7d20 {0}
DefaultContentValidator_MSG11=\u65e0\u6cd5\u627e\u5230 guid {0} \u7684\u5143\u7d20
DefaultContentValidator_MSG12=\u6587\u4ef6\u201c{0}\u201d\u5f15\u7528\u7f3a\u5c11\u8d44\u6e90\u201c{1}\u201d
DefaultContentValidator_MSG15=\u7f3a\u5c11\u8d44\u6e90\u6587\u4ef6\u201c{0}\u201d
DefaultContentValidator_MSG17=\u65e0\u6cd5\u8fde\u63a5\u5230 url\u201c{0}\u201d
DefaultContentValidator_MSG19=\u65e0\u6cd5\u8fde\u63a5\u5230 url\u201c{0}\u201d\uff1a{1}
ImportExportUtil_MSG8=\u65e0\u6cd5\u627e\u5230\u6587\u4ef6\u201c{0}\u201d\u3002
ImportExportUtil_MSG9=\u65e0\u6cd5\u521b\u5efa\u4e34\u65f6\u76ee\u5f55\u201c{0}\u201d\u3002
unknownGuidance_text=\u672a\u77e5

CopyAttachmentsToNewLocation_log_noContentPath=CopyAttachmentsToNewLocation.HandleAttachmentsPlugin\uff1a\u65e0 {0} \u7684\u5185\u5bb9\u8def\u5f84
LibraryModificationHelper_cannotUpdate=IUPL0006W: \u65e0\u6cd5\u66f4\u65b0 {0} {1}
warningDlg_title=\u8b66\u544a
errorDlg_title=\u9519\u8bef
errorDlg_saveError=IUPL0005E: \u5c06\u66f4\u6539\u4fdd\u5b58\u5230\u6587\u4ef6\u201c{0}\u201d\u65f6\u51fa\u9519

# activity diagram names
activityDiagramName=\u6d3b\u52a8\u56fe\uff1a{0}
activityDetailDiagramName=\u6d3b\u52a8\u8be6\u7ec6\u4fe1\u606f\u56fe\uff1a{0}
wpDependencyDiagramName=\u5de5\u4f5c\u4ea7\u54c1\u4f9d\u8d56\u5173\u7cfb\u56fe\uff1a{0}

################################################################################
# THE FOLLOWING PROPERTIES SHOULD NOT BE TRANSLATED!!!
################################################################################

# Role diagram fonts and layout
roleDiagramFont_name=\u5bf9\u8bdd\u6846
roleDiagramFont_name_win32=\u9ed1\u4f53
roleDiagramFont_size=10
roleDiagramFont_size_win32=10
roleDiagram_xMargin=200
roleDiagram_xSpacing=70
roleDiagram_ySpacing=30

# localize the value based on locale.  for example, 
# for English, the value is ". "
#colon_with_space=: 
# for french, the value is " . ", you need to use a \ to preserve the leading space
#colon_with_space=\ : 
# for chinese, the colon should be double bytes
# Dont trim the spaces after the colon.
colon_with_space=\uff1a
