###############################################################################
# Copyright (c) 2000, 2021 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     Benjamin Muskalla <bmuskalla@eclipsesource.com> - [templates] new SWT templates - ToolBar and ToolItem - https://bugs.eclipse.org/bugs/show_bug.cgi?id=264052
#     Robert Roth <robert.roth.off@gmail.com> - [templates] 2 new code templates: finally & lock - https://bugs.eclipse.org/184222
#     Lars Vogel <Lars.Vogel@vogella.com> - [templates] Provide templates that check for 'null' - https://bugs.eclipse.org/131445
###############################################################################

Templates.for_array=use index on array
Templates.for_temp=use index on array with temporary variable
Templates.for_collection=iterate over collection
Templates.for_iterable=iterate over an array or Iterable
Templates.for_map=iterate over map
Templates.while_enumeration=iterate with enumeration
Templates.while_iterator=iterate with iterator
Templates.do=do while statement
Templates.switch=switch case statement
Templates.switch_labeled=switch labeled statement
Templates.switch_case_expression=switch case expression
Templates.switch_labeled_expression=switch labeled expression
Templates.if=if statement
Templates.ifelse=if else statement
Templates.elseif=else if block
Templates.else=else block
Templates.ifnull=if statement checking for null
Templates.ifnotnull=if statement checking for not null
Templates.try=try catch block
Templates.tryfinally=try finally block
Templates.catch=catch block
Templates.finally=finally block
Templates.main=main method
Templates.public_method=public method
Templates.public_static_method=public static method
Templates.protected_method=protected method
Templates.private_method=private method
Templates.private_static_method=private static method
Templates.instanceof=dynamic type test and cast
Templates.cast=dynamic cast
Templates.toarray=convert collection to array
Templates.test=test method (JUnit 3)
Templates.test_junit4=test method (JUnit 4)
Templates.test_junit5=test method (JUnit 5)
Templates.testfactory_junit5=test factory method (JUnit Jupiter)
Templates.systrace=print current method to standard out
Templates.sysout=print to standard out
Templates.syserr=print to standard error
Templates.code_tag=<code></code>
Templates.code_tag_null=<code>null</code>
Templates.code_tag_true=<code>true</code>
Templates.code_tag_false=<code>false</code>
Templates.pre_tag=<pre></pre>
Templates.b_tag=<b></b>
Templates.i_tag=<i></i>
Templates.author=author name
Templates.new=create new object
Templates.lazy=lazy creation
Templates.while_condition=while loop with condition
Templates.non-nls= non-externalized string marker
Templates.fall-through= $FALL-THROUGH$ marker
Templates.synchronized= synchronized block
Templates.lock=explicit lock acquisition
Templates.runnable= runnable
Templates.arraymerge= merge two arrays into one
Templates.arrayadd= add an element to an array
Templates.static_final=static final field
Templates.new_module=create module declaration
Templates.new_class=create new class
Templates.new_iface=create new interface
Templates.new_enum=create new enumeration
Templates.new_record=create new record

# 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.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 preference 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 prefix or suffix
CodeTemplateContextType.variable.description.param=The parameter passed into the setter method
CodeTemplateContextType.variable.description.typecomment=Content of code template 'typecomment'
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.seetag=See tag pointing to the overridden method (@see T#m())

CodeTemplateContextType.variable.description.filename=Name of the enclosing compilation unit
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.

PostfixTemplates.beg=Sets the cursor to the begin of the expression
PostfixTemplates.cast=Casts the expression to a new type
PostfixTemplates.dowhile=Creates a do-while loop
PostfixTemplates.else=Creates a negated if statement
PostfixTemplates.for=Creates a for statement
PostfixTemplates.fori=Creates a for statement which iterates over an array
PostfixTemplates.foriub=Creates an indexed for statement which uses the given integer as upper bound
PostfixTemplates.forrlb=Creates an indexed for statement which uses the given integer - 1 as starting value (counting backwards)
PostfixTemplates.forr=Creates a for statement which iterates over an array in reverse order
PostfixTemplates.nnull=Creates an if statement and checks if the expression does not resolve to null
PostfixTemplates.null=Creates an if statement which checks if expression resolves to null
PostfixTemplates.sif=Creates a short if statement
PostfixTemplates.snnull=Creates an if statement which checks if the expression does not resolve to null
PostfixTemplates.snull=Creates a short if statement which checks for null
PostfixTemplates.sysout=Sends the affected string to a System.out.println(..) call
PostfixTemplates.throw=Throws the given Exception
PostfixTemplates.var=Creates a new variable
PostfixTemplates.while=Creates a while loop
PostfixTemplates.withinregion=Creates an if statement which checks if a given numeric variable is within a region
PostfixTemplates.field=Creates a new field
PostfixTemplates.constpriv=Creates a new private constant
PostfixTemplates.constpub=Creates a new public constant
PostfixTemplates.stream=Creates a new stream using Stream.of

# strings in default templates
CodeTemplates.constructorcomment=Comment for created constructors
CodeTemplates.filecomment=Comment for created Java files
CodeTemplates.typecomment=Comment for created types
CodeTemplates.fieldcomment=Comment for fields
CodeTemplates.modulecomment=Comment for modules
CodeTemplates.nonoverridingcomment=Comment for non-overriding methods
CodeTemplates.overridecomment=Comment for overriding methods
CodeTemplates.delegatecomment=Comment for delegate methods
CodeTemplates.gettercomment=Comment for getter method
# ! Do not translate ${bare_field_name} !
CodeTemplates.gettercomment.returntagcontent=the ${bare_field_name}
CodeTemplates.settercomment=Comment for setter method
# ! Do not translate ${bare_field_name} !
CodeTemplates.settercomment.paramtagcontent=the ${bare_field_name} to set

CodeTemplates.newfile=Newly created files
CodeTemplates.classbody=Code in new class type bodies
CodeTemplates.interfacebody=Code in new interface type bodies
CodeTemplates.enumbody=Code in new enum type bodies
CodeTemplates.recordbody=Code in new record type bodies
CodeTemplates.annotationbody=Code in new annotation type bodies
CodeTemplates.catchblock=Code in new catch blocks
CodeTemplates.methodstub=Code in created method stubs
CodeTemplates.constructorstub=Code in created constructor stubs
CodeTemplates.getterstub=Code in created getters
CodeTemplates.setterstub=Code in created setters

CodeTemplates.overridecomment.nonjd=(non-Javadoc)
CodeTemplates.delegatecomment.nonjd=(non-Javadoc)

CodeTemplates.catchblock.tododesc=Auto-generated catch block
CodeTemplates.methodstub.tododesc=Auto-generated method stub
CodeTemplates.constructorstub.tododesc=Auto-generated constructor stub

SWTTemplates.label=new Label
SWTTemplates.image=new Image
SWTTemplates.button=new Button
SWTTemplates.link=new Link
SWTTemplates.combo=new Combo
SWTTemplates.scale=new Scale
SWTTemplates.spinner=new Spinner
SWTTemplates.browser=new Browser
SWTTemplates.datetime=new DateTime
SWTTemplates.composite=new Composite with GridLayout
SWTTemplates.scrolledcomposite=new ScrolledComposite
SWTTemplates.group=new Group with GridLayout
SWTTemplates.sashform=new SashForm
SWTTemplates.expandbar=new ExpandBar
SWTTemplates.expanditem=new ExpandItem for an ExpandBar
SWTTemplates.tabfolder=new TabFolder
SWTTemplates.tabitem=new TabItem for a TabFolder
SWTTemplates.text=new Text
SWTTemplates.styledtext=new StyledText 
SWTTemplates.stylerange=new StyleRange for a StyledText
SWTTemplates.list=new List
SWTTemplates.table=new Table
SWTTemplates.tablecolumn=new TableColumn for a Table 
SWTTemplates.tableitem=new TableItem for a Table
SWTTemplates.tree=new Tree
SWTTemplates.treecolumn=new TreeColumn for a Tree 
SWTTemplates.treeitem=new TreeItem for a Tree
SWTTemplates.shell=new Shell
SWTTemplates.mainloop=new top level Shell with event loop
SWTTemplates.execute=execute a runnable in the UI thread
SWTTemplates.addlistener=add a listener to a Widget 
SWTTemplates.gridlayout=new GridLayout for a Composites
SWTTemplates.griddata=new GridData for a Control
SWTTemplates.griddatafactory=using GridDataFactory for a Control
SWTTemplates.toolbar=new ToolBar
SWTTemplates.toolitem=new ToolItem for a ToolBar
