# /**
#  * Copyright (c) 2002-2008 IBM Corporation 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
#  */

# NLS_MESSAGEFORMAT_VAR

pluginName = EMF Model Converter
providerName = Eclipse Modeling Project

_UI_GenericException_message = The operation was interrupted due to an exception (''{0}'').\nCheck the log for further details.
_UI_GenericExceptionDialog_message = An error occurred while performing this operation.
_UI_NoModelConverter_error = There are no model converters available.

_UI_DialogOKtitle = Message
_UI_DialogInformation_title = Information
_UI_DialogWarning_title = Warning
_UI_DialogError_title = Error

_UI_PackageSelection_title = Package Selection
_UI_Package_label = Package
_UI_EPackageData_label = Data
_UI_SelectAll_label = &Select All
_UI_DeselectAll_label = &Deselect All
_UI_Packages_label = &Packages:
_UI_PlatformPlugin_label = ''{0}'' plugin
_UI_PlatformResource_label = ''{0}'' project
_UI_ReferencedGenModel_label = {0} ({1})
_UI_Browse_label = &Browse...
_UI_Add_label = &Add...
_UI_ReferencedGeneratorModels_label = &Referenced generator models:
_UI_SelectGenModelDialog_message = Select all the appropriate generator models
_UI_PackageIsUsedBySelectedPackage_message = The package ''{0}'' is used by one of the selected packages
_UI_SelectAllGeneratorModels_description = Select all the generator models that contain packages you wish to reference
_UI_SameReferencedNSURI_error = The referenced packages ''{0}'' and ''{1}'' have the same namespace URI and cannot be checked at the same time.  

_UI_BrowseFileSystemFile_label = Browse &File System...
_UI_BrowseWorkspace_label = Browse &Workspace...

_UI_SelectGenModel_message = Select the generator model files to be referenced:
_UI_ReadOnlyFiles_error = Unable to save the model files.  The following files are read-only: {0}. 
