###############################################################################
# Copyright (c) 2005, 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
###############################################################################
RSSFeedCommon.FileError=Error: no output file specified for feed, eg., ./feed.xml\!
RSSFeedWatcherTask.with=\ with 
RSSFeedWatcherTask.To=To
RSSFeedWatcherTask.Done=Done.
RSSFeedCommon.ProjectError=Error: no project name specified, eg., EMF or WTP\!
RSSFeedCommon.FeedURLError=Error: no feedURL specified, eg., http://server/path/to/feed.xml\!
RSSFeedCommon.RSSFeedFile=RSS Feed file 
RSSFeedCommon.ToBePublishedAt=to be published at: 
RSSFeedCommon.Set=Set
RSSFeedCommon.XpathError=Error: no xpath string to search for, eg., /*/*[name() = 'entry'][1]/*[name() = 'updated']/text()

RSSFeedCreateFeedTask.Creating=Creating 
RSSFeedCreateFeedTask.Builds=Builds
RSSFeedCreateFeedTask.BuildTeam=Build Team
RSSFeedCreateFeedTask.UnableToWriteToFile=Unable to write to file 

RSSFeedAddEntryTask.BranchError=Warning: no branch specified, eg., 3.2.0\!
RSSFeedAddEntryTask.BuildIDError=Warning: no buildID specified, eg., S200506071234\!
RSSFeedAddEntryTask.BuildURLError=Warning: no buildURL specified, eg., http://server/path/to/project/downloads/drops/branch/buildID/\!
RSSFeedAddEntryTask.AddingEntryTo=Adding entry to 

RSSFeedAddEntryTask.DoesNotExist=does not exist. Creating ...
RSSFeedAddEntryTask.AnnouncePrefix=[announce] 
RSSFeedAddEntryTask.IsAvailable=is available
RSSFeedAddEntryTask.InProperty=in property
RSSFeedAddEntryTask.AttachNew=Attach new
RSSFeedAddEntryTask.BranchKeyword=%%branch%%
RSSFeedAddEntryTask.BuildIDKeyword=%%buildID%%
RSSFeedAddEntryTask.BuildAliasKeyword=%%buildAlias%%
RSSFeedAddEntryTask.WrongNumberOfVariables=Wrong number of variables
RSSFeedAddEntryTask.MustBeMultipleOf5=(must be multiple of 5)
RSSFeedAddEntryTask.MustBeMultipleOf4=(must be multiple of 4)

RSSFeedUpdateEntryTask.SearchingFor=Searching for
RSSFeedUpdateEntryTask.ReplacingWith=replacing with
RSSFeedUpdateEntryTask.DoesNotExist=does not exist. Nothing to do\!
RSSFeedUpdateEntryTask.DebugFoundAttribute=Found Attribute: 
RSSFeedUpdateEntryTask.DebugFoundElement=Found Element: 
RSSFeedUpdateEntryTask.DebugFoundText=Found Text: 
RSSFeedUpdateEntryTask.XpathNodeNotFound=Xpath Node Not Found\!
RSSFeedUpdateEntryTask.DebugGotATNode=Got A/T Node: 
RSSFeedUpdateEntryTask.DebugGotENode=Got E Node: 

RSSFeedPublisherTask.ErrorInvalidFile=Error: invalid feed file specified
RSSFeedPublisherTask.Error=Error:
RSSFeedPublisherTask.Publish=Publish
RSSFeedPublisherTask.Execute=Execute:
RSSFeedPublisherTask.Result=Result:
RSSFeedPublisherTask.ForProject=For project
RSSFeedPublisherTask.UsingCVSRoot=Using CVS Root:
RSSFeedPublisherTask.UsingCVSPath=Using CVS Path:
RSSFeedPublisherTask.UsingCVSTemp=Using CVS Temp:
RSSFeedPublisherTask.PublishToSCPTarget=Publish to SCP Target:
RSSFeedPublisherTask.ErrorNothingToDo=Error\! Must specify SCP and/or CVS options to publish a feed file. Nothing to do\!
RSSFeedPublisherTask.ErrorCouldNotDeleteTempFolder=Error: could not delete temp folder
RSSFeedPublisherTask.CVSWarning=cvs add: use `cvs commit' to add this file permanently

RSSFeedWatcherTask.ErrorNoWatchActions=Error\! Must specify for which feed changes to watch and what actions as response. Nothing to do\!
RSSFeedWatcherTask.PleaseRunThisTaskLater=Please run this task at some later date to compare reference copy in
RSSFeedWatcherTask.WarningNoScriptAction=Warning: Assuming no script action for
RSSFeedWatcherTask.WarningNoCommandlineParams=Warning: Assuming no commandline params for
RSSFeedWatcherTask.ToTheLatestVersion=to latest version of feed in
RSSFeedWatcherTask.ErrorDestinationFileIsADirectory=Error\! Destination file exists as a directory\! Cannot proceed.
RSSFeedWatcherTask.Compare=Compare
RSSFeedWatcherTask.GotOldNodeContents=Got old node contents
RSSFeedWatcherTask.GotNewNodeContents=Got new node contents
RSSFeedWatcherTask.RunExecTask=Run Exec Task
RSSFeedWatcherTask.NodeUnchanged=Node unchanged. Nothing to do\!
RSSFeedWatcherTask.NodeNotFound=Node not found. Nothing to do\!
RSSFeedWatcherTask.Download=Download
