#
# /*******************************************************************
#  * Copyright (c) 2006, 2008 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
#  ******************************************************************/

# ====================================================================
# To code developer:
#   Do NOT change the properties between this line and the
#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
#   Make a new property name, append to the end of the file and change
#   the code to use the new property.
# ====================================================================
# ====================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# ====================================================================

pluginName=STEM\u81ea\u52a8\u5316\u5b9e\u9a8c\u5de5\u5177
providerName=Eclipse.org
AE_View=\u81ea\u52a8\u8bd5\u9a8c

# product name
_UI_Product_Name=STEM

# Common Keys
_UI_STEM=STEM
_UI_Decorators=\u88c5\u9970\u5668
_UI_Experiments=\u5b9e\u9a8c
_UI_Graphs=\u56fe
_UI_Identifiables=\u53ef\u8bc6\u522b\u7684
_UI_Models=\u6a21\u578b
_UI_Modifiers=\u4fee\u6539\u5668
_UI_Predicates=\u63cf\u8ff0
_UI_Scenarios=\u65b9\u6848
_UI_Sequencers=\u5e8f\u5217\u53d1\u751f\u5668
_UI_Triggers=\u89e6\u53d1\u5668



# Perspectives
_UI_AutomaticExperiment_Perspective=\u81ea\u52a8\u8bd5\u9a8c


_UI_AutomaticExperiment_type=\u81ea\u52a8\u8bd5\u9a8c
_UI_ModifiableParameter_type=\u53ef\u4fee\u6539\u7684\u53c2\u6570
_UI_Unknown_type=\u5bf9\u8c61

_UI_Unknown_datatype=\u4ef7\u503c

_UI_AutomaticExperiment_baseScenario_feature=\u57fa\u672c\u65b9\u6848
_UI_AutomaticExperiment_parameters_feature=\u53c2\u6570
_UI_AutomaticExperiment_errorAnalysisAlgorithm_feature=\u8bef\u5dee\u5206\u6790\u7b97\u6cd5
_UI_AutomaticExperiment_errorFunction_feature=\u8bef\u5dee\u51fd\u6570
_UI_AutomaticExperiment_tolerance_feature=\u516c\u5dee
_UI_AutomaticExperiment_referanceDataDir_feature=\u53c2\u8003\u6587\u732e\u6570\u636e\u76ee\u5f55
_UI_AutomaticExperiment_maximumNumberOfIterations_feature=\u6700\u5927\u8fed\u4ee3\u6b21\u6570
_UI_ModifiableParameter_initialValue_feature=\u521d\u59cb\u503c
_UI_ModifiableParameter_feature_feature=\u529f\u80fd
_UI_ModifiableParameter_step_feature=\u6b65
_UI_ModifiableParameter_featureName_feature=\u529f\u80fd\u540d\u79f0
_UI_Unknown_feature=\u672a\u6307\u5b9a


_UI_AutomaticexperimentEditor_menu=&Automaticexperiment Editor

_UI_AutomaticexperimentModelWizard_label=\u81ea\u52a8\u5b9e\u9a8c\u6a21\u578b
_UI_AutomaticexperimentModelWizard_description=\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u81ea\u52a8\u5b9e\u9a8c\u6a21\u578b

_UI_AutomaticexperimentEditor_label=\u81ea\u52a8\u5b9e\u9a8c\u6a21\u578b\u7f16\u8f91\u5668

_UI_AutomaticexperimentEditorFilenameDefaultBase=\u6211\u7684
_UI_AutomaticexperimentEditorFilenameExtensions=\u81ea\u52a8\u8bd5\u9a8c


_UI_ModifiableParameter_lowerBound_feature=\u4e0b\u754c
_UI_ModifiableParameter_upperBound_feature=\u4e0a\u754c
_UI_ModifiableParameter_decorator_feature=\u88c5\u9970\u5668
_UI_ModifiableParameter_targetURI_feature=\u76ee\u6807URI
_UI_AutomaticExperiment_reInit_feature=\u91cd\u65b0\u521d\u59cb\u5316
_UI_CreateChild_text={0}
_UI_CreateChild_text2={1} {0}
_UI_CreateChild_text3={1}
_UI_CreateChild_tooltip=\u521b\u5efa\u5728{1} {0}\u65b0\u529f\u80fd
_UI_CreateChild_description=\u4e3a\u9009\u5b9a\u7684{2}\u7684{1}\u7279\u6027\u6765\u521b\u5efa\u4e00\u4e2a\u65b0\u7684{0}\u5b50\u7c7b
_UI_CreateSibling_description=\u5728{1}\u7684\u7236\u96c6\u4e2d\u4e3a\u9009\u5b9a\u7684{2}\u6765\u521b\u5efa\u4e00\u4e2a{0}\u7c7b\u578b\u7684\u65b0\u7684\u5144\u5f1f\u7c7b

_UI_PropertyDescriptor_description={0}\u4ece\u5c5e{1}

_UI_GenericAutomaticExperiment_type=\u901a\u7528\u81ea\u52a8\u8bd5\u9a8c
_UI_CreateChild_menu_item=&New Child
_UI_CreateSibling_menu_item=\u65b0\u751f\u6210\u4e00\u4e2a\u5144\u5f1f\u7c7b

_UI_ShowPropertiesView_menu_item=\u663e\u793a\u548c\u5c5e\u6027\u67e5\u770b
_UI_RefreshViewer_menu_item=&Refresh

_UI_SelectionPage_label=\u9009\u62e9

_UI_NoObjectSelected=\u65e0\u9009\u5b9a\u5185\u5bb9
_UI_SingleObjectSelected=\u9009\u62e9\u5bf9\u8c61\uff1a{0}
_UI_MultiObjectSelected=\u9009\u62e9{0}\u5bf9\u8c61

_UI_OpenEditorError_label=\u6253\u5f00\u7f16\u8f91\u5668

_UI_Wizard_category=\u4f8b\u5982EMF\u6a21\u578b\u521b\u5efa\u5411\u5bfc

_UI_CreateModelError_message=\u5728\u6587\u4ef6\u201c{0}\u201d\u4e2d\u9047\u5230\u7684\u95ee\u9898

_UI_Wizard_label=\u65b0\u5efa

_WARN_FilenameExtension=\u6587\u4ef6\u540d\u5fc5\u987b\u4ee5'{0} ''\u7ed3\u5c3e
_WARN_FilenameExtensions=\u6587\u4ef6\u540d\u5fc5\u987b\u5177\u6709\u4ee5\u4e0b\u6269\u5c55\u540d\u4e4b\u4e00\uff1a{0}

_UI_ModelObject=&Model Object
_UI_XMLEncoding=&XML Encoding
_UI_XMLEncodingChoices=UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
_UI_Wizard_initial_object_description=\u9009\u62e9\u521b\u5efa\u4e00\u4e2a\u6a21\u578b\u5bf9\u8c61

_UI_FileConflict_label=\u6587\u4ef6\u51b2\u7a81
_WARN_FileConflict=\u6709\u672a\u4fdd\u5b58\u7684\u66f4\u6539\u4e0e\u7f16\u8f91\u5668\u5916\u7684\u66f4\u6539\u51b2\u7a81\u3002\u4f60\u60f3\u653e\u5f03\u8fd9\u4e2a\u7f16\u8f91\u5668\u7684\u66f4\u6539\u5417\uff1f


_UI_Algorithm_type=\u7b97\u6cd5
_UI_ErrorFunction_type=\u8bef\u5dee\u51fd\u6570
_UI_ThresholdErrorFunction_type=\u9608\u503c\u8bef\u5dee\u51fd\u6570
_UI_ReferenceScenarioDataMap_type=\u53c2\u8003\u60c5\u666f\u7684\u6570\u636e\u6620\u5c04
_UI_SimpleErrorFunction_type=\u7b80\u5355\u8bef\u5dee\u65b9\u7a0b
_UI_ErrorResult_type=\u9519\u8bef\u7684\u7ed3\u679c
_UI_AutomaticExperiment_errorFunc_feature=\u8bef\u5dee\u51fd\u6570
_UI_ErrorResult_errorByTimeStep_feature=\u8bef\u5dee\u65f6\u95f4\u6b65\u957f
_UI_ErrorResult_error_feature=\u9519\u8bef
_UI_ErrorResult_referenceByTime_feature=\u53c2\u8003\u6587\u732e\u6309\u65f6\u95f4\u6392\u5e8f
_UI_ErrorResult_modelByTime_feature=\u6a21\u578b\u7684\u65f6\u95f4
_UI_ErrorResult_validationError_feature=\u9a8c\u8bc1\u9519\u8bef
_UI_AnalysisEditor_menu=&Analysis Editor

_UI_ParentPage_label=\u5bb6\u957f
_UI_ListPage_label=\u76ee\u5f55
_UI_TreePage_label=\u6811
_UI_TablePage_label=\u8868
_UI_TreeWithColumnsPage_label=\u5206\u5217\u7684\u6811
_UI_ObjectColumn_label=\u5bf9\u8c61
_UI_SelfColumn_label=\u81ea\u5df1

_UI_AnalysisModelWizard_label=\u5206\u6790\u6a21\u578b
_UI_AnalysisModelWizard_description=\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5206\u6790\u6a21\u578b

_UI_AnalysisEditor_label=\u5206\u6790\u6a21\u578b\u7f16\u8f91\u5668

_UI_AnalysisEditorFilenameDefaultBase=\u6211\u7684
_UI_AnalysisEditorFilenameExtensions=\u5206\u6790


_UI_OptimizerAlgorithm_type=\u4f18\u5316\u7b97\u6cd5
