# about.properties
# contains externalized strings for about.ini
# java.io.Properties file (ISO 8859-1 with "\" escapes)
# fill-ins are supplied by about.mappings
# This file should be translated.
#
# Do not translate any values surrounded by {}

blurb=WTP XSL Tools\n\
\n\
Version: {featureVersion}\n\
Build id: {0}\n\
\n\
(c) Copyright\n\
  Doug Satchwell (Chase Technology Ltd),\n\
  David Carver (Standards for Technology in Automotive Retail)\n\
  and others 2008. All rights reserved.\n\
\n\
Visit http://www.eclipse.org/webtools

