
#/*******************************************************************************
# * Copyright (c) 2009 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\u9f99\u683c\u5e93\u5854\u6c42\u89e3
providerName=Eclipse.org
_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_RungeKutta_type=\u9f99\u683c\u5e93\u5854
_UI_Unknown_type=\u5bf9\u8c61

_UI_Unknown_datatype=\u4ef7\u503c

_UI_RungeKutta_relativeTolerance_feature=\u76f8\u5bf9\u516c\u5dee
_UI_Unknown_feature=\u672a\u6307\u5b9a


