# ====================================================================
# Copyright (c) 2005, 2019 THALES GLOBAL SERVICES and others
# 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 6.3.5\n\
\n\
Copyright (c) 2005-2015 THALES GLOBAL SERVICES and Others\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
