###############################################################################
# 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
###############################################################################

# --- string from plugin.xml ----

pluginName=AspectJ Examples
providerName=Eclipse.org
projectSetup=Project setup

AspectJExamplesCreationWizard.categoryName=AspectJ Examples
AspectJExamplesCreationWizard.pluginCategoryName=AspectJ Plug-in Examples
AspectJExamplesCreationWizard.label=&Project Name:

AspectJExamplesTJP.title=TJP Example
AspectJExamplesTJP.description=Join Points and thisJoinPoint
AspectJExamplesTJP.pagetitle=TJP Example
AspectJExamplesTJP.pagedescription=Create an AspectJ project containing the TJP example source

AspectJExamplesIntroduction.title=Introduction Example
AspectJExamplesIntroduction.description=Roles and Views
AspectJExamplesIntroduction.pagetitle=Introduction Example
AspectJExamplesIntroduction.pagedescription=Create an AspectJ project containing the Introduction example source

AspectJExamplesTracing.title=Tracing Example
AspectJExamplesTracing.description=Tracing using aspects
AspectJExamplesTracing.pagetitle=Tracing Example
AspectJExamplesTracing.pagedescription=Create an AspectJ project containing the Tracing example source

AspectJExamplesBean.title=Bean Example
AspectJExamplesBean.description=A Bean Aspect
AspectJExamplesBean.pagetitle=Bean Example
AspectJExamplesBean.pagedescription=Create an AspectJ project containing the Bean example source

AspectJExamplesObserver.title=Observer Example
AspectJExamplesObserver.description=The Subject/Observer Protocol
AspectJExamplesObserver.pagetitle=Observer Example
AspectJExamplesObserver.pagedescription=Create an AspectJ project containing the Observer example source

AspectJExamplesTelecom.title=Telecom Example
AspectJExamplesTelecom.description=A Simple Telecom Simulation
AspectJExamplesTelecom.pagetitle=Telecom Example
AspectJExamplesTelecom.pagedescription=Create an AspectJ project containing the Telcom example source

AspectJExamplesCoordination.title=Coordination Example
AspectJExamplesCoordination.description=Coordination Example
AspectJExamplesCoordination.pagetitle=Coordination Example
AspectJExamplesCoordination.pagedescription=Create an AspectJ project containing the Coordination example source

AspectJExamplesSpacewar.title=Spacewar Example
AspectJExamplesSpacewar.description=Spacewar Example
AspectJExamplesSpacewar.pagetitle=Spacewar Example
AspectJExamplesSpacewar.pagedescription=Create an AspectJ project containing the Spacewar example source

AspectJPluginExamplesProgressMon.title=Progress Monitor Checker
AspectJPluginExamplesProgressMon.description=Validate IProgressMonitor usage
AspectJPluginExamplesProgressMon.pagetitle=Progress Monitor Checker
AspectJPluginExamplesProgressMon.pagedescription=Create an AspectJ project containing the Progress Monitor Checker plug-in example
