# Copyright (c) 2006, 2019 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, 526217, 535301
#   Christian W. Damus (CEA) - 227616
#   Kenn Hussey (CEA) - 227616, 454864, 485756, 511674
#   Camille Letavernier (EclipseSource) - 544487
#

# 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\n\
\n\
Version: {featureVersion}\n\
Build id: {0}\n\
\n\
(c) Copyright Eclipse contributors and others 2003, 2019.  All rights reserved.\n\
Visit http://www.eclipse.org/uml2
