###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

# preference page
TemplatePreferencePage.error.import=Failed to import templates.
TemplatePreferencePage.error.export=Failed to export templates.
TemplatePreferencePage.error.read.title=Reading Templates
TemplatePreferencePage.error.write.title=Reading Templates
TemplatePreferencePage.message=&Create, edit or remove templates:
TemplatePreferencePage.title=Templates

TemplatePreferencePage.new=&New...
TemplatePreferencePage.edit=&Edit...
TemplatePreferencePage.import=&Import...
TemplatePreferencePage.export=E&xport...
TemplatePreferencePage.export.all=Ex&port All...
TemplatePreferencePage.remove=&Remove
TemplatePreferencePage.enable.all=Ena&ble All
TemplatePreferencePage.disable.all=Di&sable All
TemplatePreferencePage.editor=Template

TemplatePreferencePage.column.name=Name
TemplatePreferencePage.column.context=Context
TemplatePreferencePage.column.description=Description

TemplatePreferencePage.use.code.formatter=Use code &formatter

TemplatePreferencePage.import.title=Importing Templates
TemplatePreferencePage.import.extension=*.xml

TemplatePreferencePage.export.title=Exporting {0} Templates
TemplatePreferencePage.export.filename=templates.xml
TemplatePreferencePage.export.extension=*.xml

TemplatePreferencePage.export.exists.title= Exporting Templates
TemplatePreferencePage.export.exists.message= {0} already exists.\nDo you want to replace it?

TemplatePreferencePage.export.error.title= Exporting Templates
TemplatePreferencePage.export.error.hidden= Export failed.\n{0} is a hidden file.
TemplatePreferencePage.export.error.canNotWrite= Export failed.\n{0} can not be modified.
TemplatePreferencePage.export.error.fileNotFound= Export failed:\n{0}

TemplatePreferencePage.error.parse.message= Failed to parse templates:\n{0}
TemplatePreferencePage.error.read.message= Failed to read templates.

TemplatePreferencePage.question.create.new.title= Edit Template
TemplatePreferencePage.question.create.new.message= The name of the template has been changed.

TemplatePreferencePage.preview=Preview:

# code template preference page
CodeTemplatePreferencePage.error.import=Failed to import templates.
CodeTemplatePreferencePage.error.export=Failed to export templates.
CodeTemplatePreferencePage.error.read.title=Reading Templates
CodeTemplatePreferencePage.error.write.title=Reading Templates
CodeTemplatePreferencePage.message=&Templates used for code generation:
CodeTemplatePreferencePage.title=Code Templates

CodeTemplatePreferencePage.edit=&Edit...
CodeTemplatePreferencePage.import=&Import...
CodeTemplatePreferencePage.export=E&xport...
CodeTemplatePreferencePage.export.all=Ex&port All...
CodeTemplatePreferencePage.enable.all=Ena&ble All
CodeTemplatePreferencePage.disable.all=Di&sable All
CodeTemplatePreferencePage.editor=Template

CodeTemplatePreferencePage.column.name=Name
CodeTemplatePreferencePage.column.description=Description

CodeTemplatePreferencePage.use.code.formatter=Use Code &Formatter

CodeTemplatePreferencePage.import.title=Importing Templates
CodeTemplatePreferencePage.import.extension=*.xml

CodeTemplatePreferencePage.export.title=Exporting {0} Templates
CodeTemplatePreferencePage.export.filename=codetemplates.xml
CodeTemplatePreferencePage.export.extension=*.xml

CodeTemplatePreferencePage.export.exists.title=Exporting Templates
CodeTemplatePreferencePage.export.exists.message={0} already exists.\nDo you want to replace it?

CodeTemplatePreferencePage.preview=Preview:


# edit template dialog
EditTemplateDialog.error.noname=Template name cannot be empty.
EditTemplateDialog.error.adjacent.variables=Template pattern has adjacent variables.
EditTemplateDialog.title.new=New Template
EditTemplateDialog.title.edit=Edit Template

EditTemplateDialog.name=&Name:
EditTemplateDialog.description=&Description:
EditTemplateDialog.context=&Context:
EditTemplateDialog.pattern=&Pattern:
EditTemplateDialog.insert.variable=Insert &Variable...

EditTemplateDialog.undo=&Undo
EditTemplateDialog.cut=Cu&t
EditTemplateDialog.copy=&Copy
EditTemplateDialog.paste=&Paste
EditTemplateDialog.select.all=Select &All
EditTemplateDialog.content.assist=Insert &Variable...

# template variable dialog
TemplateVariableDialog.title=Select a template variable.
TemplateVariableDialog.column.name=Name
TemplateVariableDialog.column.description=Description
TemplateVariableDialog.insert=&Insert

TemplateVariableProposal.error.title=Error applying template variable proposal
TemplateVariableProcessor.error.title=Error creating template variable proposals

# template set
TemplateSet.error.read=Error occurred while reading templates.
TemplateSet.error.write=Error occurred while writing templates.

# templates
Templates.error.title=Error accessing templates.
Templates.error.read=Error occurred while reading templates.
Templates.error.write=Error occurred while writing templates.

# template engine
TemplateEngine.error.title=Could not create template proposals.

# template proposal
TemplateProposal.delimiter=\ - 

# template evaluator
TemplateEvaluator.error.title=Template Evaluation Error

# template translator
TemplateTranslator.error.incomplete.variable=Template has incomplete variables. Use '$' to escape.
TemplateTranslator.error.invalid.identifier=Template has invalid variable identifiers.

ContextType.error.multiple.cursor.variables=Template has multiple cursor variables.

TemplateSet.error.missing.attribute=Missing required attribute

CodeTemplates.error.title=Error accessing code templates.
