# /**
#  * 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 Code Generation UI
providerName = Eclipse Modeling Project

_UI_TemplateContainer_label = &Template Containers
_UI_SourceContainer_label = &Source Container
_UI_WebSettingsNotAvaiable_message = Web settings are not available for a closed project
_UI_CannotSetTemplateContainer_message = Cannot set template container: {0}
_UI_ContainerDoesNotExist_message = Container ''{0}'' does not exist
_UI_ContainerNotRelative_message = Container ''{0}'' must be a relative path in this project

_UI_CompileTemplate_label = Compile Template
_UI_AddJETNature_label = Add JET Nature
_UI_JETSettings_label = JET Settings

_UI_JETProblem_title = JET Problem
_UI_JETCompileProblem_message = Problems encountered processing JET templates

_UI_JETDevelopment_label = Java Emitter Templates
_UI_JETConvertProject_label = Convert Projects to JET Projects
_UI_JETConvertProject_message = Select existing projects to support Java Emitter Templates
_UI_Projects_label = &Projects
_UI_SelectAll_label = &Select All
_UI_DeselectAll_label = &Deselect All

_UI_JETEditor_label = JET Editor

_UI_JETColorPreferences_label = JET Color Preferences...

_UI_JETTheme_label = JET

_UI_JETCommentForeground_label = Comment text foreground color
_UI_JETCommentForeground_description = The foreground color of the text in JET comments

_UI_JETCommentBackground_label = Comment text background color
_UI_JETCommentBackground_description = The background color of the text in JET comments

_UI_JETDirectiveForeground_label = Directive text foreground color
_UI_JETDirectiveForeground_description = The foreground color of the text in JET directives

_UI_JETDirectiveBackground_label = Directive text background color
_UI_JETDirectiveBackground_description = The background color of the text in JET directives

_UI_JETScriptletForeground_label = Scriptlet text foreground color
_UI_JETScriptletForeground_description = The foreground color of the text in JET scriptlets

_UI_JETScriptletBackground_label = Scriptlet text background color
_UI_JETScriptletBackground_description = The background color of the text in JET scriptlets

_UI_JETExpressionForeground_label = Expression text foreground color
_UI_JETExpressionForeground_description = The foreground color of the text in JET expression

_UI_JETExpressionBackground_label = Expression text background color
_UI_JETExpressionBackground_description = The background color of the text in JET expression

_UI_JETContentForeground_label = Content text foreground color
_UI_JETContentForeground_description = The foreground color of the text in JET content

_UI_JETContentBackground_label = Content text background color
_UI_JETContentBackground_description = The background color of the text in JET content


_UI_ContentAssistProposal_label = Content assist
_UI_ContentAssistProposal_tooltip = Content assist
_UI_ContentAssistProposal_description = Provides Content Assistance

_UI_NullLogEntry_exception = A null log entry was logged

SelectEnclosingJETElement.label = Enclosing JET Element
SelectEnclosingJETElement.tooltip = Select Enclosing JET Element
SelectEnclosingJETElement.description = Select Enclosing JET Element

Format.label = F&ormat
Format.tooltip = Format the JET source
Format.description = Format the JET source
