###############################################################################
# Copyright (c) 2000, 2004 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
###############################################################################
pluginName = Eclipse Team File System Example
providerName=Eclipse.org

Synchronize.name=Synchronize
Synchronize.tooltip=Synchronize the selected resources
Put.name=Put
Put.tooltip=Copy resources to the shared file system location
Get.name=Get
Get.tooltip=Copy resources from the shared file system location to the workbench
Unmanage.name=Disconnect
Unmanage.tooltip=Disconnect the project from the shared file system locaton

Replace.name=File System Contents
Replace.tooltip=Overwrites the local copy of this resource with the one in the repository

fspropertypage.name=FileSystem Provider
fspropertypage.tooltip=An example repository provider that uses the filesystem to provide storage.
fswizard.name=File System Example (Non-Versioning)
fswizard.description=Associate a project with a file system location. This location can be used to shared resources with others.

activity.team.examples.filesystem.name=Team File System Example
activity.team.examples.filesystem.description=An example Team repository provider.
activity.team.examples.pessimistic.name=Team Pessimistic Example
activity.team.examples.pessimistic.description=An example Team repository provider that needs to checkout resources before they can be edited.
