# ====================================================================
# Copyright (c) 2015 Obeo
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#    Obeo - initial API and implementation
# ====================================================================

# Property "aboutText" contains blurb for "About" dialog
aboutText=Sirius\n\
\n\
Version 7.2.0\n\
\n\
Copyright (c) 2015 Obeo\n\
This program and the accompanying materials\n\
are made available under the terms of the Eclipse Public License 2.0\n\
which accompanies this distribution, and is available at\n\
https://www.eclipse.org/legal/epl-2.0/\n\
\n\
SPDX-License-Identifier: EPL-2.0\n\
\n\
Sirius allows architects to easily create their own graphical\n\
modeling workbenches by leveraging the Eclipse Modeling technologies.\n\
Based on a viewpoint approach, it makes it possible to equip teams\n\
who have to deal with complex architectures on specific domains.\n\
\n\
Visit http://www.eclipse.org/sirius
# Property "featureImage" contains path to feature image (32x32)
featureImage=modeling32.png
