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


ContextType_error_multiple_cursor_variables=Template has multiple cursor variables.

# Java Only stuff
CompilationUnitContextType_variable_description_file=Filename of compilation unit
CompilationUnitContextType_variable_description_primary_type_name=Filename without extension
CompilationUnitContextType_variable_description_enclosing_method=Enclosing method name
CompilationUnitContextType_variable_description_enclosing_type=Enclosing type name
CompilationUnitContextType_variable_description_enclosing_package=Enclosing package name
CompilationUnitContextType_variable_description_enclosing_project=Enclosing project name
CompilationUnitContextType_variable_description_enclosing_method_arguments=Argument names of enclosing method
CompilationUnitContextType_variable_description_return_type=Enclosing method return type

JavaContextType_variable_description_array=A proposal for an array
JavaContextType_variable_description_array_type=A proposal for the element type of an array
JavaContextType_variable_description_array_element=A proposal for the element name of an array
JavaContextType_variable_description_index=A proposal for an index (int)
JavaContextType_variable_description_collection=A proposal for a collection (java.util.Collection)
JavaContextType_variable_description_iterable=A proposal for an iterable (array or java.lang.Iterable)
JavaContextType_variable_description_iterable_type=A proposal for the element type of an iterable (array or java.lang.Iterable)
JavaContextType_variable_description_iterable_element=A proposal for the element name of an iterable (array or java.lang.Iterable)
JavaContextType_variable_description_iterator=A proposal for an iterator (java.util.Iterator)
JavaContextType_variable_description_todo=Todo task tag

JavaContext_error_title=Template Error
JavaContext_error_message=Template file incomplete or has errors.  You can load the default templates from the template preferences page (Java>Templates).

CodeTemplateContextType_variable_description_todo=Todo task tag
CodeTemplateContextType_variable_description_packdeclaration=Package declaration of the new type
CodeTemplateContextType_variable_description_typedeclaration=Generated type declaration
CodeTemplateContextType_variable_description_getterfieldname=The name of field to set or get
CodeTemplateContextType_variable_description_getterfieldtype=The type of the field to set or get
CodeTemplateContextType_variable_description_fieldname=The name of field
CodeTemplateContextType_variable_description_fieldtype=The type of the field
CodeTemplateContextType_variable_description_barefieldname=The name of field to set or get without pre- or suffix
CodeTemplateContextType_variable_description_param=The parameter passed into the setter method
CodeTemplateContextType_variable_description_typecomment=Content of code template 'Comments > Types'
CodeTemplateContextType_variable_description_exceptiontype=The type of the caught exception
CodeTemplateContextType_variable_description_exceptionvar=The variable name of the caught exception
CodeTemplateContextType_variable_description_enclosingtype=The type enclosing this method
CodeTemplateContextType_variable_description_typename=Name of the current type
CodeTemplateContextType_variable_description_enclosingmethod=The enclosing method
CodeTemplateContextType_variable_description_bodystatement=Return statement or super call
CodeTemplateContextType_variable_description_returntype=Return type of the enclosing method
CodeTemplateContextType_variable_description_tags=Generated Javadoc tags (@param, @return...)
CodeTemplateContextType_variable_description_see_overridden_tag=See tag pointing to the overridden method (@see T#m())
CodeTemplateContextType_variable_description_see_target_tag=See tag pointing to the target method (@see T#m())

CodeTemplateContextType_variable_description_filename=Name of the enclosing compilation unit
CodeTemplateContextType_variable_description_filecomment=Content of code template 'Comments > Files'
CodeTemplateContextType_variable_description_packagename=Name of the enclosing package
CodeTemplateContextType_variable_description_projectname=Name of the enclosing project

CodeTemplateContextType_validate_unknownvariable=Variable ''{0}'' is unknown.
CodeTemplateContextType_validate_missingvariable=Variable ''{0}'' is required.
CodeTemplateContextType_validate_invalidcomment=Pattern is not a valid Java comment.

TemplateSet_error_missing_attribute= Cannot read template: an attribute is missing.
TemplateSet_error_read= Cannot read template file.
TemplateSet_error_write= Cannot write template file.

Context_error_cannot_evaluate= Cannot evaluate the template.
