# Copyright (c) 2006, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
# All rights reserved.   This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.html
#
# Contributors: 
#   IBM - initial API and implementation
#   Kenn Hussey (Embarcadero Technologies) - 219804, 204200
#   Kenn Hussey - 323181, 535301
#   Christian W. Damus (CEA) - 227616
#   Kenn Hussey (CEA) - 459723, 511674
#

# NLS_MESSAGEFORMAT_VAR

# 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.

aboutText = UML 2.x Metamodel Edit Support\n\
\n\
Version: {featureVersion}\n\
Build id: {0}\n\
\n\
(c) Copyright Eclipse contributors and others 2003, 2018.  All rights reserved.\n\
Visit http://www.eclipse.org/uml2
