# about.ini
# contains information about a feature
# java.io.Properties file (ISO 8859-1 with "\" escapes)
# "%key" are externalized strings defined in about.properties
# This file does not need to be translated.

# Property "aboutText" contains blurb for "About" dialog (translated)
aboutText=EGF (Eclipse Generation Factories) is a software factory tool with the purpose to generate software artifacts, such as code or application, in order to automate software development.\n\
\n\Copyright (c) 2009, 2019 Thales Global Services\n\.  All rights reserved.\n\n\
Visit http://eclipse.org/egf

# Property "windowImage" contains path to window icon (16x16)
# needed for primary features only

# Property "featureImage" contains path to feature image (32x32)
featureImage=egf.png

# Property "aboutImage" contains path to product image (500x330 or 115x164)
# needed for primary features only

# Property "appName" contains name of the application (not translated)
# needed for primary features only

# Property "welcomePerspective" contains the id of the perspective in which the
# welcome page is to be opened.
# optional

# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
# optional
# tipsAndTricksHref=/org.eclipse.jdt.doc.user/tips/jdt_tips.html
