######################################################################
#Copyright (c) 2002 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:
#Adrian Colyer, Andy Clement, Tracy Gardner - initial version
#...
######################################################################

pluginName=AspectJ Development Tools UI
providerName=Eclipse.org

ajNature=AspectJ Nature
ajPerspective=AspectJ

AspectJ=AspectJ
org.eclipse.ajdt.ui.tools=Aspect&J Tools

ajBuilder=AspectJ Builder

# Actions
# --------
ajActions=AspectJ Actions
convertToAJP=Con&vert to AspectJ Project
removeAJNature=&Remove AspectJ Capability
manageBreakpointActionInRulerContextMenu=Toggle Breakpoint
convertExt=&Convert File Extensions...
convertExtToAJ=Convert File Extension to .&aj
convertExtToJava=Convert File Extension to .&java
Refactoring.menu.label= Refac&tor
CreateAntBuildFile=Create Ant Build File with &AspectJ Support
OpenTypeInHierarchyAction.label=Open AspectJ Type in &Hierarchy.. 
OpenTypeInHierarchyAction.tooltip=Open AspectJ Type in Hierarchy
OpenTypeAction.label=Open &AspectJ Type..
OpenTypeAction.tooltip=Open AspectJ Type
ActionDefinition.openType.name=Open AspectJ Type
ActionDefinition.openType.description=Open a type in a Java or AspectJ editor
ActionDefinition.openTypeInHierarchy.name=Open AspectJ Type in Hierarchy
ActionDefinition.openTypeInHierarchy.description=Open a type in the type hierarchy view
renameAJFiles=Re&name...

            
# Ruler context menu - Actions copied from JDT
# ----------------------------------------------
AddBookmark.label=Add Boo&kmark
AddBookmark.tooltip=Add Bookmark...
AddTask.label=Add &Task
AddTask.tooltip=Add Task...
Folding.label= F&olding
JavaBreakpointProperties.label=Breakpoint P&roperties...
EnableBreakpoint.label=&Toggle Breakpoint Enabled

# Views
# ------
ajOutline=AspectJ Outline
eventTraceView=AJDT Event Trace

# Editors
# -------
buildConfigEditor=Build Configuration File Editor
ajEditor=AspectJ/Java Editor
ajPropertiesEditor=AspectJ Properties Editor
propertiesFileEditor=Properties File Editor
jarDescriptionEditor=JAR Description Editor

pointcutSourceHover=Pointcut Definition
pointcutSourceHoverDescription=Shows the definition of the selected AspectJ pointcut.

# This doesn't seem to be shown to the user anywhere
AJEditorActionsLabel=AspectJ editor action

# Filters
# -------
ajsymFilter=Ajsym Filter
ajFileFilter=Duplicate .aj file filter
ajFileFilterDesc=Prevents .aj files from appearing twice

pointcutFilter.name=Pointcuts
pointcutFilter.description=Hides AspectJ pointcuts
adviceFilter.name=Advice
adviceFilter.description=Hides AspectJ advice
introductionFilter.name=Introductions
introductionFilter.description=Hides AspectJ introductions
declarationFilter.name=Declarations
declarationFilter.description=Hides AspectJ declarations

# Resources
# ---------
ajProject=AspectJ Project

# Wizards
# --------
ajAspect=Aspect
ajExportWizard=Deployable plug-ins and fragments with AspectJ support
ajExportWizard.description=Export the selected plug-ins and/or fragments in a form suitable for deploying in an Eclipse product. Includes support for AspectJ.
ajJarExportWizard=JAR file with AspectJ support
ajJarExportWizard.description=Package resources into a JAR file in the local file system.  Includes support for AspectJ projects.

OpenAJProjectWizardAction.label=AspectJ Project...
OpenAJProjectWizardAction.tooltip=New AspectJ Project

ajProjectWizard.description=Create an AspectJ Project
ajAspectWizard.description=Create an Aspect

# Decorators
# ----------
ajElementDecorator.label=AspectJ elements
ajElementDecorator.description=Shows the structure of aspects
advisesDecorator.label=Advice decorator
advisesDecorator.description=Shows advised elements


# AspectJ Menu
# -------------
buildConfig=Display build configuration choice
runTestSuite=Run Test Suite
about=About

# Visualiser
# ------------
aspectVisualizationPerspective=Aspect Visualization

Visualiser=Visualiser

Aspect_Visualiser=Aspect Visualiser
Aspect_Visualiser_Menu=Aspect Visualiser Menu

ajdtProvider=AJDT Provider
aspectJProvider=AspectJ Provider
aspectJProvider.description=Provider that shows where AspectJ advice applies on Java packages and classes.
aspectJProvider.emptyMessage=Nothing to display. Select a project, package, or class from the Package Explorer.

ajdtPalette=AJDT palette

# Cross-Reference
# ----------------
pointcutMatches=pointcut matches
adviceXRef=advises / advised by
ajXRefProvider=AspectJ XReference Provider

# Preferences
# ------------
ajCompilerOptionsPrefName=AspectJ Compiler

# Markers
# ----------
aspectjproblem=AspectJ Problem
sourceAndTargetMarker=Source and Target Marker
dynamicSourceAndTargetMarker=Dynamic Source and Target Marker
beforeAdviceMarker=Before Advice Marker
aroundAdviceMarker=Around Advice Marker
sourceOfAdviceMarker=Source of Advice Marker
sourceOfAroundAdviceMarker=Source of Around Advice Marker
sourceOfBeforeAdviceMarker=Source of Before Advice Marker
sourceOfAfterAdviceMarker=Source of After Advice Marker

ajdtErrors=AJDT Errors
ajdtWarnings=AJDT Warnings

dynamicAdviceMarker=Dynamic Advice Marker
dynamicBeforeAdviceMarker=Dynamic Before Advice Marker
dynamicAfterAdviceMarker=Dynamic After Advice Marker
dynamicAroundAdviceMarker=Dynamic Around Advice Marker
sourceDynamicAdviceMarker=Source Dynamic Advice Marker
sourceDynamicBeforeAdviceMarker=Source Dynamic Before Advice Marker
sourceDynamicAfterAdviceMarker=Source Dynamic After Advice Marker
sourceDynamicAroundAdviceMarker=Source Dynamic Around Advice Marker
declarationMarker=Declaration Marker
intertypeDeclarationMarker=Intertype Declaration Marker
intertypeDeclarationSourceMarker=Intertype Declaration Source Marker

advice=Advice
aspectDeclaration=Aspect Declaration

# ajdoc
# -----
generateajdoc=G&enerate AJdoc...

# Launching
# ---------
launcherDescription=Create a configuration that will launch a Java virtual machine. Supports aspect paths and main methods in aspects.
launcherName=AspectJ/Java Application
AspectJApplicationShortcut.label=AspectJ/Java Application
AspectJApplicationShortcut.description.debug=Debug AspectJ/Java Application
AspectJApplicationShortcut.description.run=Run AspectJ/Java Application
ltwLauncherDescription=Create a configuration that will launch a Java virtual machine with support for AspectJ load-time weaving.
ltwLauncherName=AspectJ Load-Time Weaving Application

# Crosscutting Comparison
# -----------------------
AJMapEditor=AspectJ Crosscutting Map File Editor
CompareCrosscutting.submenu.eachOther=Compare Crosscutting With &Each Other
CompareCrosscutting.submenu.currentBuild=Compare Crosscutting With &Current Build
CompareCrosscutting.view=Crosscutting Comparison
SaveCrosscuttingMapAction=&Save Crosscutting Map...
SaveCrosscuttingMapActionGroup=Crosscutting Comparison

# Property Pages
# --------------
aspectj=AspectJ
javaBuildPath=Java Build Path
aspectJInpath=AspectJ InPath
aspectJAspectPath=AspectJ Aspect Path
aspectJCompiler=AspectJ Compiler


# Build Configurations
# --------------------
activateConfig=&Apply Build Configuration
saveConfig=&Save Build Configuration As...

buildConfigFile=Build Configuration