# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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

################################################################################
# BEGIN NO TRANSLATION
################################################################################

# Role diagram fonts and layout
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name=Arial
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_ja=\u30c0\u30a4\u30a2\u30ed\u30b0
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_ko=\ub300\ud654 \uc0c1\uc790
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_zh=\u5bf9\u8bdd\u6846
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_zh_TW=Dialog
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32=Arial
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_ja=MS Gothic
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_ko=\uad74\ub9bc\uccb4
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_zh=\u9ed1\u4f53
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_zh_TW=\u7d30\u660e\u9ad4
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_size=10
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_size_win32=10
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_xMargin=200
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_xSpacing=70
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_ySpacing=30

################################################################################
# END NO TRANSLATION
################################################################################

unknown_text=Unknown

# Error Reasons
emptyLibraryPathError_reason=The method library path is empty.
missingLibraryFileError_reason=The method library model file is missing.
unresolvedProxyError_reason=The selected method library contains unresolved element references. This is usually caused by missing or displaced XMI files in the library folder.\n\nClose this dialog and bring up the Problems view to help identify the unresolved references. To avoid corrupting the library, it is highly recommended that you resolve these references first before adding more changes to the library.

# Warning Messages
configClosureWarning_msg1=IUPL0007W: One or more child elements contain missing references
configClosureWarning_msg2=IUPL0008W: This element should be selected to resolve one or more missing references
configClosureWarning_msg3=IUPL0009W: This element references one or more elements in an unselected package

ElementError_missing_element=''{0}'' references missing element ''{1}''
ElementError_contributor_missing_base=''{0}'' contributes to missing base element ''{1}''
ElementError_extender_missing_base=''{0}'' extends missing base element ''{1}''
ElementError_replacer_missing_base=''{0}'' replaces missing base element ''{1}''
ElementError_missing_primary_performer=''{0}'' references missing primary performer ''{1}''
ElementError_missing_mandatory_input=''{0}'' references missing mandatory input ''{1}''
ElementError_missing_output=''{0}'' references missing output ''{1}''
ElementError_missing_responsible_for_workProduct=''{0}'' references missing responsible for work product ''{1}''
ElementError_having_multiple_replacers=''{0}'' has multiple replacers: ''{1}''

# Error Messages
loadResourcesError_msg=IUPL0000E: The method library has been loaded but some errors have been detected.
unsupportedGuidanceTypeError_msg=IUPL0001E: This guidance cannot be converted to another type.
convertGuidanceError_msg=IUPL0002E: This guidance cannot be converted to the target type.
saveConvertedGuidanceError_msg=IUPL0003E: The converted guidance ''{0}'' cannot be saved.

# Convert activity
convertActivityError_title=Convert Activity Type Error
convertActivityError_msg=IUPL0006E: This activity cannot be converted to the target type.
saveConvertedActivityError_msg=IUPL0007E: The converted activity ''{0}'' cannot be saved.

# Error Reasons
error_reason=IUPL0004E: An error has occurred. Click OK for more information.
unsupportedGuidanceTypeError_reason=There is no compatible guidance type for {0}.
invalidLibraryPathError_reason=Invalid library path. The .project file could not be created.
couldNotLockLibrary_reason=Could not lock library.

# Progress Messages
copyingAttachmentsTask_name=Copying attachments...

# Convert Guidance Dialog
convertGuidanceDialog_title=Convert Guidance Type
convertGuidanceDialog_text=Select the target guidance type.

# Guidance type names for Convert Guidance Dialog
checklist_text=Checklist
concept_text=Concept
example_text=Example
guideline_text=Guideline
estimate_text=Estimate
estimatingMetric_text=Estimating Metric
estimationConsiderations_text=Estimation Considerations
report_text=Report
template_text=Template
supportingMaterial_text=Supporting Material
toolMentor_text=Tool Mentor
whitepaper_text=Whitepaper
termDefinition_text=Term Definition
practice_text=Practice
reusableAsset_text=Reusable Asset

#activity breakdown info strings
ActivityLayout_primaryTasks_text=Performs as Owner
ActivityLayout_additionalTasks_text=Performs as Additional
ActivityLayout_assistTasks_text=Performs as assist
ActivityLayout_performAs_text=Performs as {0}

# Convert Guidance Error Messages
convertGuidanceError_title=Convert Guidance Type Error

# Load Resources Error Dialog
loadResourcesError_title=Open Method Library Error
loadResourcesError_reason=Some library resources could not be loaded.\n\nClick Details to review the errors and resolve them before adding more changes to the library.

# Role Diagrams
roleDiagramPerforms_text=performs
roleDiagramResponsibleFor_text=responsible for

DefaultContentValidator_MSG0=Referenced element: {0}
DefaultContentValidator_MSG1=Info: {0}
DefaultContentValidator_MSG4=Warning: {0}
DefaultContentValidator_MSG7=Error: {0}
DefaultContentValidator_MSG10=Missing referenced element {0}
DefaultContentValidator_MSG11=Unable to find element for guid {0}
DefaultContentValidator_MSG12=File ''{0}'' references missing resource ''{1}''
DefaultContentValidator_MSG15=missing resource file ''{0}''
DefaultContentValidator_MSG17=Unable to connect to URL ''{0}''
DefaultContentValidator_MSG19=Unable to connect to URL ''{0}'': {1}
ImportExportUtil_MSG8=Could not find file ''{0}''.
ImportExportUtil_MSG9=Could not create temporary directory ''{0}''.
unknownGuidance_text=Unknown

CopyAttachmentsToNewLocation_log_noContentPath=CopyAttachmentsToNewLocation.HandleAttachmentsPlugin: no contentPath for {0}
LibraryModificationHelper_cannotUpdate=IUPL0006W: Cannot update {0} {1}
warningDlg_title=Warning
errorDlg_title=Error
errorDlg_saveError=IUPL0005E: Error saving changes to file ''{0}''

# activity diagram names
activityDiagramName=Activity diagram: {0}
activityDetailDiagramName=Activity detail diagram: {0}
wpDependencyDiagramName=Work product dependency diagram: {0}

# 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
# Don't trim the spaces after the colon.
colon_with_space=: 

oldToolVersion_err_msg=This version of {0} is not compatible with your library file ''{2}''. You must upgrade {0} to version {1} or higher in order to open it.
toolVersionMismatch_err_msg=This version of {0} is not compatible with your library file ''{2}''. You must upgrade {0} to a higher version in order to open it.
libUpgradeRequired_err_msg=The specified library needs to be upgraded to the new library structure. Open the library to upgrade it and try again.

WorkProductSlot_text=Work Product Slot

libraryProblemMonitor=Library Problem Monitor

references_unresolved_base_txt=references unresolved base plugin

configFreeProcessView_title=Configuration free process view
systemCreatedCustomCategory_brief=This is a system created custom category for grouping same type elements.

UndeclaredDep_MarkerTxt0=Undeclared plug-in dependency
UndeclaredDep_MarkerTxt1=Undeclared plug-in dependency from ''{0}'' to
UndeclaredDep_MarkerTxt2=Offender elements:

